Есть ли способ получить jQuery для получения информации в файл и из него? Является ли это возможным? Как?
Чтение/запись в файл с помощью jQuery
Ответ 1
Нет, JavaScript не имеет доступа к написанию файлов, так как это, по меньшей мере, представляет собой огромный риск для безопасности. Если вы хотите получить/хранить информацию на стороне сервера, вы можете, конечно, сделать вызов Ajax для PHP/ASP/Python/и т.д. скрипт, который может затем получить/сохранить данные на сервере. Если вы хотите хранить данные на клиентской машине, это невозможно с помощью JavaScript. Я подозреваю, что Flash/Java может быть в состоянии, но я не уверен.
Если вы пытаетесь хранить небольшой объем информации в течение ненадежного периода времени для конкретного пользователя, я думаю, что вам нужен API веб-хранилища или файлы cookie. Я не уверен в вашем вопросе, что вы пытаетесь выполнить.
Ответ 2
Да, это возможно.
Техника описана ниже
Ответ 3
как HTML5, так и Google Gears добавляют возможности локального хранилища, в основном, встроенным SQLite API.
Ответ 4
Эта функция Javascript представляет диалоговое окно "Сохранить как" для пользователя, который запускает эту функцию через свой браузер. Пользователь нажимает OK, и файл сохраняется на стороне сервера.
Это используется для работы со всеми браузерами, но теперь работает только с IE. Следующий код представляет собой угрозу безопасности, если javascript может сохранять данные на стороне сервера, хакер может использовать свои серверы. Firefox и Chrome подключили отверстие, но IE еще не сделал этого.
// content is the data (a string) you'll write to file.
// filename is a string filename to write to on server side.
// This function uses iFrame as a buffer, it fills it up with your content
// and prompts the user to save it out.
function save_content_to_file(content, filename){
var dlg = false;
with(document){
ir=createElement('iframe');
ir.id='ifr';
ir.location='about.blank';
ir.style.display='none';
body.appendChild(ir);
with(getElementById('ifr').contentWindow.document){
open("text/plain", "replace");
charset = "utf-8";
write(content);
close();
document.charset = "utf-8";
dlg = execCommand('SaveAs', false, filename);
}
body.removeChild(ir);
}
return dlg;
}
Вызвать функцию следующим образом:
msg = "I am the president of tautology club.";
save_content_to_file(msg, "C:\\test");
Ответ 5
Вам нужно будет обрабатывать доступ к файлам через веб-язык программирования, например PHP или ASP.net.
Чтобы настроить это, вы должны:
-
Создайте script, который обрабатывает чтение и запись файлов. Это должно быть видимым для браузера.
-
Отправьте jQuery ajax-запросы на этот script, который либо записывает данные, либо читает данные. Вам нужно будет передать всю вашу информацию для чтения/записи через параметры запроса. Подробнее об этом можно узнать в документации jQuery ajax.
Убедитесь, что вы дезинфицируете данные, которые вы храните, поскольку это потенциально может представлять угрозу безопасности. Тем не менее, это действительно просто стандартное хранение данных с плоскими файлами, и это не обязательно так необычно.
Как отметил Паоло, нет возможности напрямую читать/писать в файл через jQuery или любой другой тип javascript.
Ответ 6
Cookies - ваш лучший выбор. Найдите плагин jquery cookie.
Cookies предназначены для такого рода ситуаций - вы хотите сохранить некоторую информацию об этом клиенте на стороне клиента. Просто имейте в виду, что файлы cookie передаются туда и обратно в каждом веб-запросе, поэтому вы не можете хранить там большие объемы данных. Но простой ответ на вопрос должен быть хорошим.
Ответ 7
Если вы хотите сделать это без кучи обработки на стороне сервера на странице, может оказаться целесообразной возможность вывести текстовое значение в скрытое поле (используя PHP). Затем вы можете использовать jQuery для обработки значения скрытого поля.
Независимо от того, что плавает ваша лодка:)