×Закрыть

Работа с файлами средствами AJAX

Всем привет!

Подскажите, пожалуйста, можно ли работать с локальными файлами посредством AJAX, jQuery, JavaScript?

А именно, — создавать их, считывать данные, записывать данные и т.д. на файлах, расположенных на компьютере.

Заранее всем спасибо

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Похожие топики

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Хмм... совсем нельзя. jQuery это обертка поверх JavaScript и потому не рассматриваем. JavaScript такое делать не умеет по определению поскольку его назначение оперировать с элементами страницы (DOM HTML), делать AJAX вызовы. Словом, не выходить за рамки браузера. И неудивительно: вы же не хотите, чтобы запрошенная страничка вытворяла на вашей операционке бог весть, что. Ну а AJAX это асинхронное обращение к серверу за данными (чтобы не перегружать всю страницу). Нет, ну можно файл записать и прочитать — cookie — но насколько мне известно средствами javascript вы даже не контролируете название файла, а путь и подавно.

Так что ответ — нет.

Но тупо ходить на курсы, где мало что дают и сомнительного качества не хочется (пробовал общаться — курсачи не могут даже описать предлагаемый ими результат...ну или чего именно они там предлагают).
Я работаю в энергетике. В свои 34 я понял, что это не мое — мое это программирование.
Ходил я на курсы в ХИРЭ — потерянное время и деньги.
программист с опытом это что — имя или нация? )))
Так что когда кто-либо козыряет опытом — это СРАЗУ говорит о том, что человек просто НУЛЬ ))
Не менее честно с моей стороны — мне пофиг на ваше мнение.
хочу тупо на джаваскрипте

Тяжело Вам будет.

P.S. По делу. Ответ: не надо так делать.

Можно уточнить как именно не надо делать?

Подскажите, пожалуйста, можно ли работать с локальными файлами посредством AJAX, jQuery, JavaScript?

Уточните, почему не надо такое спрашивать

Спрашивать можно все что угодно. Не надо

работать с локальными файлами посредством AJAX, jQuery, JavaScript
Не надо работать с локальными файлами посредством JavaScript
почему?

Аякс взагалі не має відношення ні до локальних файлів ні до десктопних програм. Це веб технологія для оновлення даних і їх передачі без перезавантаження сторінки веб сайту. JQuery це також чисто веб фреймворк і далі браузерної пісочниці він нічого не вміє. Аналогічно з джаваскриптом браузерним. Якщо хочеться повноцінно працювати з ОС користувача то треба писати не веб ап а десктоп ап. Єдиний можливий варіант веб апу це пропонувати користувачу через браузер обрати файл для завантаження на веб сервер, або пропонувати йому завантажити файл через посилання напряму до того файлу, або через посилання на серверний скрипт, який видасть цей файл. У випадку завантаження обраного користувачем файла то це робиться двума методами — стандартним http POST запитом використовуючи елемент html form з спеціальним тегом enctype=multipart/form-data і полем в цвй формі input type=file, або аякс запитом використовуючи один із костилів JQuery.

Ок! Спасибо! )

Всем спасибо! И удачи!

подобного рода вопросы лучше спрашивать тут или тут

может быть ) здесь как-то много озлобленных, как я успел заметить в первый же день общения ) к вам не относится ) спасибо за совет )

а вы кого ищете? )))

Та я вот завалился на этот сайт по рекомендации знакомого. Так сказать, поинтересоваться что и кто здесь бывает. Думал проконсультироваться. Вот, кто чем богат, тем и ответил. И на том спасибо

Якщо на доу почнуть терти усі не технічні топіки як на stackoverflow, то тут лишиться одна пустеля.

это сугубо их личные проблемы.
Энергетика нужна будет даже если не будет компьютеров и программ, так что я не конвульсирую ))
Кроме того, у меня свои хотелки насчет использования приложений в управлении процессами в энергетике (количество аварий, недостроев и прочих ужасов там и их стоимость — от десятков миллионов долларов до сотен миллиардов долларов в течение суток каждая из аварий и каждый неумело проводимый контракт).
Ну это, так сказать, мои мечты и хобби — я просто на этом буду учиться, точнее уже учусь, хоть и не быстро )))
Насчет событий в мире — я считаю, что айти сфера очень скоро (в ближайшее десятилетие) станет чем-то вроде письменности для наших предков (типа умения читать и писать) и совсем выродится как класс, так что мне низзя перед взрослеющим сыном быть совсем безграмотным динозавром )))
так что я понемногу учусь и наслаждаюсь этим процессом и в целях обучения готов и даже мечтаю поработать пусть даже БЕСПЛАТНО попутно ))))
На этом с Вами и со всеми остальными закрываем не технические вопросы, я надеюсь, навсегда
Все что касается тематики айти всегда велком — всегда готов, всегда хочу и буду )))

я считаю, что айти сфера очень скоро (в ближайшее десятилетие) станет чем-то вроде письменности для наших предков (типа умения читать и писать) и совсем выродится как класс

Ну звідки цю дурню усі беруть? Програміст — це професія. Те що в майбутньому люди будуть базово знати щось програмувати типу хеловордів це одне, а реальна розробка це вже професійна діяльність яка вимагає постійного навчання, і серйозного а не 2 уроки на тиждень в класі. І не тільки навчання а й практики, тобто праці в відповідному секторі.

На рахунок того що ви хочете щось там написати для реального користування, то без поглиблення в програмування, тобто без становлення професії у вас нічого крім глючного гівнокоду не вийде. Хоча навіть не глючного, воно просто не буде працювати. Або беріться серйозно за справу, або замовте цю систему у професіоналів.

І до речі, нікому ви не потрібні без реальних серйозних знань, навіть за бесплатно.

время покажет ) Вы ко мне явно не равнодушны )

и, кстати, профессионально писать книги тоже немногие умеют, хотя все умеют кое-как писать, даже Вы )

Даже я? Я бачу ваша корона тяжеліє не по дням а по постам.

Знаете что мне импонирует в Вас — это украинский язык, на котором Вы пишите

кстати, попутно, нужно поставить сервер апачи, но там требует какой-то server name. Это что за зверь?

у меня винда, а не убунту (((( но что-то уже поставил, добавлю ПХП и СКюЭль и посмотрю фурычит ли то что я наклацал

Ставити пхп на вінду то якось дивно. Або в віртуалку де буде крутитися лінукс або арендувати собі впску за долар в місяць. Взагалі рекомендую оце поставити з уже налаштованим сервером:

laravel.com/docs/5.3/homestead

в прошлый раз ставил ПХП-Шторм — было проще как-то

А я стім собі недавно поставив. Було проще теж.

1. Скачал NodeJS
2. Установил
3. Написал простую заглушку для сервера index.js (

const http = require('http');

http.createServer((request, response) => {
   response.writeHead(200, {'Content-Type': 'text/plain'});
   response.end('Hello World\n');
}).listen(8081);

console.log('Server running at http://127.0.0.1:8081/');
)
www.nodebeginner.org/#a-basic-http-server
4. Запустил: node index.js
5. Открыл в браузере http://127.0.0.1:8081/
6. ???
7. PROFIT

Никаких танцев с бубном вокруг апач сервера не нужно.

Я знав що вже старий, але не настільки!

моему сыну 6 лет, но уже в 3 он сам каким-то образом научился устанавливать игры, а позже сам поставил себе вайбер, потом удалил, когда надоело с другом чатиться )) он это начал делать раньше чем научился хоть как-то писать, читать и нормально говорить ))) и общались они с другом в основном смайликами )) а Вы говорите я бред несу )) фиг его знает как оно у них там в голове это работает )

Ігри ставити то не програмувати. Тим більше з сучасники магазинами додатків робиться в пару кліків. Цим прикладом ви лише доводите що люди вдало використовують програми написані професійними програмістами, не більше. А дай їм хоча б через консоль поставити ту саму програму то вже буде біда.

П.С. так, чим далі тим більш вміло типовий гомосапіенс вміє юзати технології. Але юзати то не розробляти. Якщо я вмію нагуглити таблетку якусь при болі в животі це мене не робить лікарем.

еще раз — все умеют писать, но не все пишут книги ) так же и в айти ) все относительно. Я не считаю программистов, которые пишут на языках типа javascript, hph и т.п. программистами как таковыми (пожалуйста, без обид). На мой взгляд, это максимум продвинутые пользователи (или очень продвинутые). Лично для меня программисты те кто, например, разрабатывают языки программирования такие как ПХП или какие-то совсем новые технологии работы с машинами и обработки информации и т.п. Так что все условно и относительно. Тем более кто знает как изменятся технологии за 10-15 лет? Возможно и Ваши знания и навыки безнадежно устареют. Я говорю лишь о тенденциях.

Ахахах))) Нарешті нутро своє повністю показав)) А чому тоді просиш допомоги у тих кого не вважаєш програмістами?)

Тем более кто знает как изменятся технологии за 10-15 лет? Возможно и Ваши знания и навыки безнадежно устареют. Я говорю лишь о тенденциях.

Навики програмування ніколи не устаріють, устаріти можуть лише мови програмування і фреймворки. =)

мне кажется мы вполне мило беседуем )) и я не вижу ничего зазорного признать что я учусь и спросить о чем-то.

Попробуйте ему рассказать о красно-черных деревьях и рекурсии а потом попросить написать вертикальный прямой обход.

Александр, а если кто-то создаст совсем другие подходы и методы, которыми Вы совершенно не владеете и они заполонят все собой. Чего тогда будут стоить Ваши знания? Понимаете о чем я?

Я выучу. Я каждый день что-то новое учу. Ежедневно.

А если нет? Если просто не сможете? Ну не хватит интеллекта и времени и все. Это никогда не известно наперед. Понимаете о чем я?

То, что вы описываете возможно только если я превращусь в идиота..

А если учесть, что мир движется по пути унификации и упрощения вплоть до нового языка человечества — взять хотя бы того же Фреско, — то запросто может оказаться лет через 5 ну 10, что программисты будут чем-то вроде наборщиков текста. Кстати, насчет инженеров я бы не спешил — здесь как раз полный вакуум. Но это немного другая тема. Хотя....без электростанций никакой компьютер работать не будет )

Электростанции тоже могут быть автоматическими.
Уже сейчас в китае есть заводы с несколькими инженерами. А все остальное автоматические линии.

программисты будут чем-то вроде наборщиков текста
Они и сейчас наборщики текста. И актуальны будут до тех пор, пока не напишут ИИ могущий писать вместо них. Но это так же один из вариантов апокалипсиса ))

Электростанции в Европе и США и так автоматические! И тем не менее, в 2001-м году, кажется, была крупная системная авария, отключившая с десяток стран Евросоюза почти полностью! Поинтересуйтесь предметом, прежде чем писать гупости! Я о другом совсем! Причем тут средства автоматики к производству оборудования, проектированию, монтажу, наладке, логистике, делопроизводству, координации энергосистем, координации оборудования, изоляции, энергоучету, устойчивости и многому другому, о чем Вы и примерно не имеете понятия? Вот уж смололи, так смололи! Простите за наезд, но это просто....кхм...нет слов.
А сколько было блэк-аутов в США! И каких! И при их то автоматизации! Вы мне кажется, далеки от реалий жизни. Занимайтесь сайтами, а вопросы управления инфраструктурой и обществом оставьте специалистам

Это вы специалист то? даже загуглить простой вопрос не способный? :) Теперь понятно почему аварии ))

судя по общению вы только и можете гуглить ))) причём бездельник, раз есть время со мной препинаться )) кстати, судя по тому что вы сморозили, ваши знания гуглом и ограничены ))

причём бездельник, раз есть время со мной препинаться ))
С другим бездельником, раз у вас есть время со мной препираться? :)
судя по тому что вы сморозили, ваши знания гуглом и ограничены ))
Вы считаете, что у вас знаний больше? чем у гугла? )

Я считаю что словосочетание «автоматическая электростанция» характеризует вас как всадника апокалипсиса с искусственным интеллектом гугления )))

Тоже мне всадник апокалипсиса выискался )))

А если учесть, что мир движется по пути унификации и упрощения вплоть до нового языка человечества — взять хотя бы того же Фреско, — то запросто может оказаться лет через 5 ну 10, что программисты будут чем-то вроде наборщиков текста. Кстати, насчет инженеров я бы не спешил — здесь как раз полный вакуум. Но это немного другая тема. Хотя....без электростанций никакой компьютер работать не будет )
И кстати, когда из-за нехватки грамотных специалистов, из-за ошибок малоквалифицированного персонала, из-за ошибок в проектах, монтаже, наладке и т.д., начнут взрываться атомные электростанции и прочие объекты инфраструктуры и Земля будет превращаться в место где нельзя даже жить, тогда не слишком грамотные программисты с узким как замочная скважина кругозором (юристы, «экономисты» (бухгалтера) и прочие) поймут, что это не им должны, а они должны за возможность заниматься утонченными методами программирования и наслаждаться своим родом деятельности всего лишь. Кстати, на моей памяти только за 2014 — 2016 недостроев электростанций, известных мне в мире (Россия, Нигерия, Экваториальная Гвинея, Эквадор), как минимум 14 ГЭС (и это только ГЭС! всего за три года! и только недостроев известных мне лично! не считая аварий...). Ну а пока....наслаждайтесь самолюбованием ) пока есть возможность )

так что я понемногу учусь и наслаждаюсь этим процессом и в целях обучения готов и даже мечтаю поработать пусть даже БЕСПЛАТНО попутно ))))
Многие учатся помногу, и тоже мечтают )) Удачи :)

вот тут согласен

Считывание можно, но работать будет только в FF и Chrome developer.mozilla.org/...n/docs/Web/API/FileReader developer.mozilla.org/...les_from_web_applications
Кроме того, есть ограничение — файл должен выбрать пользователь используя file input, самому порыться на диске не получится. Изменять веб-страница файлы не может.

А вам зачем? Если писать десктопное приложение — то берётся node-webkit (и не только он, есть и альтернативы) и можно всё. А если веб-приложение, то сильно не развернешься — ограничения по безопасности, да и может браузерный JS далеко не всё.

Спасибо. Теперь я совсем запутался ))) насколько я понял из того что читал, FileReader это метод HTML5? (пардон, если глупость написал, — просто уточнить, чтобы знать в какой книге из имеющейся библиотеки читать подробности).
Мне принципиально пока неважно — можно и через сервер. Пытаюсь самостоятельно изучать программирование. Но тупо ходить на курсы, где мало что дают и сомнительного качества не хочется (пробовал общаться — курсачи не могут даже описать предлагаемый ими результат...ну или чего именно они там предлагают). Вот сижу пишу приложение для расчетов токов коротких замыканий (на JS) в произвольных энергосистемах, затем — переходные процессы, устойчивость энергосистем и т.д. по списку до достижения определенных целей (долго писать что именно я хочу сделать в конечном счете). Хочется, чтобы все было доступно он-лайн и бесплатно в итоге для всех. Этим и учусь пока что )))

Пока советую не забивать себе голову специфическим html5 api. Тем более для описанной задачи оно не нужно.

Достаточно простого веб-приложения. Даже не обязательно single-page. В интернетах тонны информации о том, как оно организовано. (например, вот: developer.mozilla.org/...amentals/Basic_data_flow

Или же, если хочется чего-то больше похожего на автокад (читай, оффлайновое десктопное приложение), то уже советовали nwjs и electron.

Я с ума сойду от того сколько всего исчо надо изучить ))) спасибо )) надо подумать теперь еще и над тем как это все изучить постепенно ))

вот www.coursera.org/learn/web-app
или вот (если английский хромает) stepik.org/...ourse/Web-технологии-154
это полноценные онлайновые курсы.

Спасибо )

насколько я понял из того что читал, FileReader это метод HTML5
Да, это относят к html5 api. Насчет подробностей — как по мне, то MDN достаточно.

На добивание меня последний вопрос — что такое MDN? ))

Сайт, ссылки на который я дал, Mozilla Developer Network. Содержит подробную документацию по JavaScript, с указанием что в каком браузере работает

посмотрел — как все сложно ((( спасибо

ничего не получится, броузер изолирует все скрипты которые он выполняет от операционной системы компьютера. все что может броузер это записать куки или скачать файл куда то куда выберет пользователь. Но зачем вам записывать файлы локально ? — пишите их на сервер куда то и потом давайте пользователю скачивать.

Спасибо!

Хочу создать процессор в домашних условиях. У меня есть паяльник проволка и кусок кремния. Как сделать процессор?
©

Уже все понятно! Читайте обсуждение прежде чем графоманить!

Я написал прочитав обсуждение. У меня ложилось мнение, что вы пишете вопрос, а потом случайную технологию из фронтэнд.

Александр, я залез на этот сайт не ради графоманов. Если есть чем полезным поделиться и не жаль, кто ж против. Здесь не конкурс кто умнее или грамотнее. Есть вопрос —

можно ли работать с локальными файлами (расположенными на жестком диске компа) посредством AJAX, jQuery, JavaScript
и нужен четкий однозначный ответ. Дочитав раздел книги я для себя понял, что нельзя. Хотел спросить совета у тех кто занимается этим давно, результат — бессмысленная писанина и графомания

Скажу честно, меня мало интересует зачем вы залезли на этот сайт. Я высказываю свое мнение. Оно может вам быть не интересным. И вы можете больше здесь не писать. А можете писать. Мне абсолютно пофиг.

Не менее честно с моей стороны — мне пофиг на ваше мнение. Знаниями вы не владеете. Просто не засирайте мне эфир — чисто человеческая просьба

Воу воу які ми круті)) Апасненько...

Извините. Воспитание не позволяет вести себя хорошо с хамами.

Вот тут вы зря, всю суть лучше в теме описывать, не у всех есть время/желание читать все обсуждения.

запросы ajax ничем не отличаются от обычных http запросов

Да, да, это я не дочитал в книге у правильных парней :)) таки да — только через сервер

Если тебе просто открыть файл С СЕРВЕРА или загрузить файл НА СЕРВЕР, спрашивая при этом разрешения пользователя — так и скажи. Суть в том, что при этом ты не трогаешь файлы сам, а только просишь браузер обработать твой контент.

Для сохранения: это просто ссылка, тег a с атрибутом download, который предлагает имя файла.

Для загрузки — тег формы input с атрибутом type=file. Но там есть грабельки с оформлением.

Нет, нельзя. Совсем нельзя. Есть специальные серверные программы, которые это дело имитируют, но по сути всё что ты перечислил — это JavaScript. Он работает строго в своей песочницы, и за пределы этой песочницы ему не просто нельзя, ему там дышать нечем.

Да, есть JavaScript-подобные языки для серверного программирования. Но это чисто похожий синтаксис, начинка у них совершенно другая, и среда обитания тоже. Если кратко, то чтобы иметь дело с файловой системой, нужно либо общаться с операционной системой, либо иметь сетевую.

IMHO если тебе просто хранить файлы — возьми любое файлохранилище, поддерживающее протокол WebDAV, и при желании засинхронь с какой-то папкой не компе. Однако опять же, где ты собрался хранить явки-пароли к этому счастью?

универсально — нет.
но если очень хочется, то можно
UPD из топика не очевидно, но в комментах автор уточняет, что ему всего-то надо доступ к файлам для Открыть/Сохранить из приложения под браузер. А про AJAX сказал, видимо, потому что слово знакомое.

Ну, стоит об этом почитать через пару-тройку лет. Пока что полагаться на конкретные браузеры — должна быть острая необходимость.

Да и не думаю, что там интерефейс даст доступ к произвольному файлу уровня операционки, поскольку огромен соблазн дать юзверю поиграться со всей операционкой, к примеру установить ускоритель интернета и чистильщик реестра.

PS. Когда браузер отжирает 4 гига памяти, и сервер на пару сотен юзверей в онлайне — всего гиг, скажите люди, как у вас язык поворачивается называть браузер «тонким клиентом»? Насколько же прав был Майкрософт, совместив браузер с операционкой... но увы, ослик так и не стал единорогом.

Евгений, я так понимаю, что мне нужно для этих целей использовать HTML5 API-file? Да, я действительно учусь и выбрал для этого близкую мне тематику — энергосистемы. Походив в расспросах по курсам в Харькове, я понял, что ничему путнему там не учат и не могут научить ничему, кроме предлагаемой ими весьма ограниченной программе. Буду благодарен за совет или помощь

А, вот, я не уверен, что вам нужно использовать.
Что вам действительно нужно — это формулировать вопросы относительно проблемы, а не того, как вы видите решение. Не «как с помощью крана отделить рыбе голову», а «расскажите, как рыбу можно разделать».
Про «открыть/сохранить» — то мои предположения.

Да, я действительно учусь и выбрал для этого близкую мне тематику — энергосистемы
а это к чему было сказано?

Евгений, я читаю комменты и толком не могу понять, возможно ли с помощью чего-то из AJAX, jQuery, JavaScript работать с локальными файлами. В книге по jQuery, например, Райна Бенедетти, пишется, что якобы можно. На форумах кто что пишет — кто можно, кто нет. Простите, а с чем связана Ваш агрессивный тон в мой адрес? Не нравится вопрос или не можете дать развернутый ответ, пройдите мимо и все. Да, я учусь и не скрываю этого. И не всегда могу сформулировать что именно мне не ясно. Скорее всего, если бы знал как сформулировать очень корректно вопрос, то и ответ на него знал бы, что вполне закономерно.

никакой агрессии. вы у меня спрашиваете подтверждения «мне нужно Х, я правильно понял?», а я даже не могу до конца понять, какую проблему вам надо решить.

И не всегда могу сформулировать что именно мне не ясно
сформулировать — это начать с «я решаю задачу Х, для чего выбрал инструмент У, у меня не получается с ним А потому что В и С».
и сразу получаете ответы от «с помощью У вы не сможете В, вам надо делать Д» или даже «для задачи Х инструмент У не подходит, посмотрите на М и Н».

jQuery.ajax — если коротко — для отправки запроса НТТР-серверу. Локальная файловая система — никак не НТТР-сервер. Нужно или нет вам FileAPI, я не знаю, так как задачу всё еще не понял.
Если вы хотите сформировать файл и предложить сохранить его — возможно, будет достаточно сформировать ссылку с data: как источником.

UPD

не нравится вопрос или не можете дать развернутый ответ, пройдите мимо и все.
кстати, да, спасибо большое.

делал серверную часть. Сделал клиентскую. Пользователь у себя в браузере на клиентской части что-то там редактирует и шлет на сервер. Сервер на основе данных формирует нужный файл (пдф, например), сохраняет его у себя и отдает клиенту линку на скачивание. Клиент по линке сохраняет файл куда ему надо.
Это если ты собираешься веб-приложение писать.

Вот что предложил другой комментатор. Этот коммент мне хоть как-то ясен.

Да, я действительно учусь и выбрал для этого близкую мне тематику — энергосистемы
чтобы было понятней чем я занимаюсь в данный момент жизни вот ссылка mystudy.esy.es/...alc3ph/myCalcTest2 1.html

Алексей, пожалуйста, попроще для начинающих чайников таких как я :) Да, я действительно учусь и выбрал для этого близкую мне тематику — энергосистемы. И народ, работающий в энергетике часто также не самый подкованный в премудростях использования возможностей приложений. Так что чем проще с точки зрения пользователя, с одной стороны, и чем проще с точки зрения доступа в любой момент при наличии сети, тем лучше :)

Объясняю просто: проблема не в языке как таковом. Любой язык делает базовые манипуляции данными. Но в вопросе управления файлами есть три самых важных фактора: безопасность, безопасность, и безопасность.

Иначе говоря, чтобы к ним добраться, нужна программа, имеющая соответствующие полномочия внутри операционной системы. В случае веб-страниц это СЕРВЕР, выполняющий не твои скрипты из браузера, а СВОИ, которые у него прописаны внутри, а от браузера он только данные получает, которым в общем случае нельзя доверять.

Потому на JavaScript ты можешь манипулировать только теми объектами, которые внутри бразуера, и подавать серверу какие-то вызовы через средства браузера. А то что фактически выполнится с твоими файлами — решает сервер. И он уже пишется на своих языках и под свои фреймворки и/или программные средства. И всё это ради безопасности.

Так что есть моменты, которые ты должен понимать: управлять файлами напрямую из скрипта невозможно, потому что не может быть никогда. Иначе бы кто угодно творил что захочет с файлами пользователя, например с целью банального воровства или мошенничества.

Спасибо. Придется работать с базами данных SQL. Похоже у меня нет другого пути в данном вопросе. Хотя, по виду БД на Денвере это, как по мне, похоже на Excel

Если можно, есть еще вопросик.
Если я обращаюсь к файлу на локальном сервере через http://localhost/index.html, то не происходит запроса файла XML с данными без написания соответствующего кода $.ajax, а если я обращаюсь к файлу на локальном сервере через http://127.0.0.1:80/index.html, то файл XML с данными как бы сам собой загружается, причем корректно.
Почему такое происходит?
Заранее спасибо

Я не совсем понял про какой XML ты говоришь, но нужно порт указывать
вот так http://localhost:80/index.html

а так, localhost и 127.0.0.1 — это одно и то же

stackoverflow.com/...st-hosts-and-ports-at-all

файл XML, в котором у меня данные. Так вот, когда запрос через

localhost
, то эти данные не подгружаются в
index.html
, а через http://127.0.0.1:80/ то сами собой грузятся и выводятся в формах на экране. Не понимаю почему так

потому что порт нужно указывать
127.0.0.1:80 и просто 127.0.0.1 это не одно и то же для браузера
точно так же как и localhost и localhost:80

localhost и localhost:80
работают одинаково в данном случае — не грузят данные, а вот
127.0.0.1:80
грузит их сам корректно без обработчика. Почему?

а что у тебя в С:\Windows\System32\drivers\etc\hosts файле?
localhost точно в 127.0.0.1 резолвится?

не понял вопрос про резолвится )) однако, с обработчиком на джаваскрипте через localhost данные грузятся также как и без обработчика через 127.0.0.1. Интересно все таки почему, какие причины

Скорее всего потому что путь ОТНОСИТЕЛЬНЫЙ и браузер просто не находит данные. Вам ничего не стоит открыть панель разработчика в браузере и посмотреть какие запросы он выдаёт и какие ошибки падают в консоль.

А вообще — это глупо открывать локальный файл. Потому что в боевой эксплуатации будет открываться всегда URL, а значит только так его и нужно тестировать, без поправки на все «особенности» операционной системы.

Порт 80 можно не указывать, это порт по-умолчанию.

Рекомендую посмотреть в сторону сборки OpenServer. Очень грамотно составленный комплект софта, всё ставится «из коробки». Из ништяков — лёгкость прикручивания своих доменов. То есть у вас будет не http://127.0.0.1 а полноценный http://мойдомен.укр и можете держать сколько угодно проектов и версий на одном сервере. Хотя это и очевидная возможность, но для начинающих лучше брать готовую сборку, чем изучать премудрости серверного софта методом тыка.

не надо работать с локальными файлами с помощью AJAX.
есть File API там, где оно есть.
где его нет — выдавайте предупреждение. или сделайте форму с загрузкой файла на сервер для парсинга и выводе в вашем приложении и генерации ж на сервере для сохранения(как ниже советовали).

1. Filesystem js (ниже посоветовали).
2. nwjs.io или аналоги.
3. Не делать такое в браузере.
Ajax — метод общения с сервером, jQuery — библиотека для работы с dom. Оба не имеют никакого отношения к fs клиента.

Зависит от среды исполнения.

Если можно, уточните Ваш ответ. Прям в данный момент читаю Бенедетти, — там ни слова об этом. У них в книге все хорошо работает с локальными файлами. У меня в жизни по их примерам не работает запрос
$.ajax({
url: «finishers.xml»,
cache: false,
dataType: «xml»,
success: function(xml){
}
});

все файлы собраны в одной папке на локальном диске и запрос не работает. В теории я должен его увидеть в средствах отладки, но там броузер ругается вот так: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource

Cross origin requests are only supported for protocol schemes
Если вбить это в гугл то первая ссылка у меня такая: stackoverflow.com/...rror-when-loading-a-local
Возвращаясь к вашему вопросу:
можно ли работать с локальными файлами посредством AJAX, jQuery, JavaScript?
Короткий ответ — нет. Есть такое www.html5rocks.com/...utorials/file/filesystem но не уверен что оно поддержывается везде.
посредством AJAX, jQuery, JavaScript?
Почитайте все-таки что такое AJAX и jQuery.

Спасибо за ответ. Но все же мне нужно для приложения иметь такую возможность, — работать с файлами, минуя сервер

Вы не поняли. Суть в том, чтобы создавать файлы там где хочет пользователь, при этом работая в броузерном приложении

для приложения Автокад-онлайн????

Приложение должно инициировать нативное окно сохранения файла для текущей ОС.

как это делается? Есть хорошая литература? Пишу приложение для расчетов процессов в энергосистемах и вообще для управления энергосистемами стран. Нужна визуализация. Что-то типа автокада онлайн. После ввода данных онлайн программа должна их сохранять в виде файлов на сервере или на компьютере пользователя по выбору пользователя, а также и там и там периодически автоматически для сохранения промежуточных результатов работы

Сделал серверную часть. Сделал клиентскую. Пользователь у себя в браузере на клиентской части что-то там редактирует и шлет на сервер. Сервер на основе данных формирует нужный файл (пдф, например), сохраняет его у себя и отдает клиенту линку на скачивание. Клиент по линке сохраняет файл куда ему надо.

Это если ты собираешься веб-приложение писать.

Если сервер нужен постольку поскольку и важна именно клиентская часть (ну чтоб больше походило на десктопное приложение), то можно то же самое запилить не в браузере, а в каком-нибудь электроне.

Если ты не ограничен джаваскриптом, то можно угореть по полноценным десктопным приложениям. Но тут я уже не подскажу, пускай знающие люди поделятся на чем щас такое проще написать. C/С++/Qt? C#? Java?

хочу тупо на джаваскрипте. Но мысль хорошая со ссылкой на файл. Мне нравится. Мерси. Эта мысль мне даже больше нравится, чем с локальным файлом на диске. Очень мерси!

Если в двух словах: ajax запросы (то есть запросы сделанные из скрипта, а не во время подгрузки html-элементов через src) имеют ограничения на доступ к ресурсам, у которых хост не совпадает с хостом скрипта. Называется Same origin policy. Сделано для безопасности.

Как обойти подробно написано здесь: stackoverflow.com/...are-only-supported-for-ht
Для начала просто попробовать запустить в ФФ.
Но лучше, конечно, для разработки поднять простой локальный веб-сервер (на ноде, на пайтоне, на пхп).

И, да, кто такой Бенедетти? :)

Райан Бенедетти — обладатель степени ма-
гистра искусств в области писательского ма-
стерства (университет Монтаны); работает
веб-разработчиком и специалистом по мульти-
медиа в университете Портленда. В своей рабо-
те использует jQuery, Flash, ActionScript, Adobe
Creative Suite, Liferay Portal, Apache Jakarta
Velocity и Drupal.

Ронан Крэнли работал в университете Порт-
ленда с момента своего переезда из Дубли-
на, Ирландия, в 2006 году — с должности веб-
разработчика до старшего веб-разработчика/
инженера-системотехника и заместителя дирек-
тора по веб-системам и администрированию.
Ронан получил степень бакалавра в области
компьютерных технологий в технологиче-
ском институте Дублина, который он закон-
чил с отличием в 2003 году. Во время учебы,
а также на своей предыдущей должности в ESB
International (Дублин) и текущей в университе-
те Портленда Ронан работал над разнообраз-
ными проектами на языках PHP, VB.NET, C#
и Java. Среди этих проектов была клиентская
система GIS, система управления контентом,
система календарного планирования и гибрид-
ное приложение jQuery/Google Maps

Подписаться на комментарии