Можете ли вы перенести объект Javascript на сервер и получить его в том же состоянии? - PullRequest
1 голос
/ 10 мая 2010

Я подумываю о создании простого приложения удаленной отладки для Javascript. На самом деле, я хочу предоставить объект Firebug Lite и позволить ему делать всю работу.

Итак, могу ли я получить объект с одной страницы, сериализовать его, отправить на сервер, а затем в другой браузер и, наконец, увидеть те же результаты в Firebug Lite (на этом другом клиенте), что и в первом браузере делать "console.dir (obj)")? Можно ли это сделать?

Ответы [ 4 ]

1 голос
/ 10 мая 2010

Простой ответ: нет. Вам придется сериализовать вашего объекта в какую-то строку. Это может быть XML, JSON или формат, который вы создаете, например:

var anObject = {first:1,second:2,third:'infinite'};
function serializer(obj){
   var serialized = [];
   for (var l in obj){
     if (obj.hasOwnProperty(l)){
        serialized.push(l+'='+obj[l]);
     }
   }
   return serialized.join('&');
}

alert(serializer(anObject)); //=>first=1&second=2&third=infinite

Если ваш объект содержит объекты, вы можете использовать функцию сериализатора рекурсивно.

0 голосов
/ 10 мая 2010

Самым простым решением является сериализация в JSON.Однако важно отметить, что JSON поддерживает не все типы JavaScript.

0 голосов
/ 10 мая 2010

Вместо того чтобы наполовину отвечать на вопрос, вот реальная сделка!

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

Затем, с другой стороны, вы просто получаете его, снова используя AJAX, чтобы попросить указанный PHP-скрипт вернуть вам эти данные!

0 голосов
/ 10 мая 2010

Использование JSON для кодирования объекта?

http://json.org/

...