Как сохранить мой массив JavaScript в файл? - PullRequest
0 голосов
/ 03 января 2012

В моем приложении phonegap / iOS есть файл с именем data.js , который содержит массив.Приложение работает с этим массивом, и в него сохраняются некоторые изменения.

Теперь, когда пользователь выходит из моего приложения, я хочу, чтобы он сохранил изменения в файле data.js .Есть ли способ сделать это?

ОБНОВЛЕНИЕ Это мой массив (единственное в data.js ):

    var data = [
        [0, "A", "B", "0", "0"],
        [1, "C", "D", "0", "0"],
        [2, "E", "F", "0", "0"],
        ...
    ];

РЕШЕНО! Я использовал JSON, чтобы преобразовать массив в массив и сохранить его в localStorage.Он должен работать только с Mobile Safari, так что это хорошее решение.Спасибо за подсказки, которые заставили меня решить мою проблему.

Ответы [ 5 ]

2 голосов
/ 03 января 2012

Если вы используете PhoneGap, то вы наверняка сможете работать с файловой системой. Решение состоит в том, чтобы закодировать ваш массив в JSON, используя serializeArray() метод в JQuery.

Как только вы закодируете свой массив, вы получите строку JSON, которую вы должны сохранить в файле, используя функцию PhoneGap Filewriter(). Для получения более подробной информации об этом посетите эту ссылку .

Надеюсь, это помогло вам: -).

0 голосов
/ 05 января 2012

используйте Lawnchair для сохранения массива в виде объекта JSON. Объект JSON будет находиться в памяти до тех пор, пока вы не очистите данные для приложения.
Если вы хотите сохранить его навсегда в файл в локальной файловой системе, то, я думаю, вы можете написать плагин phonegap для отправки данных через собственный код плагина, который создаст / откроет файл и сохранит его.

0 голосов
/ 04 января 2012

Вы также можете сохранить свой массив (или, что еще лучше, его членов), используя localStorage, хранилище ключей / значений, которое хранит ваши данные локально, даже когда пользователь выходит из вашего приложения.Ознакомьтесь с руководством в библиотеке разработчиков Safari .

0 голосов
/ 03 января 2012

Phonegap (на http://phonegap.com/tools/) предлагает шезлонг: http://westcoastlogic.com/lawnchair/

чтобы вы читали этот файл в data.js вместо того, чтобы хранить данные там буквально

0 голосов
/ 03 января 2012

JavaScript не может напрямую вмешиваться в файловую систему.Вы можете сделать одно из двух:

  1. Сохранить изменения в cookie и прочитать их в следующий раз
  2. Отправить изменения (через AJAX) в файл PHP,сгенерирует загружаемый файл на сервере и предоставит его клиенту.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...