Javascript объекты и массивы на сервер через форму (json / ??) - лучшие практики - PullRequest
0 голосов
/ 18 декабря 2011

Я хотел бы знать, что было бы лучше для этого:

  1. На основе выбора создайте список «выбранных элементов», который будет списком такого типа:

     {items
    
      {categoryString {tag_id1 {[fr]=>itemFR, [en]=>itemEN} 
    
      {categoryString {tag_id2 {[fr]=>item2FR, [en]=>item2EN}
    
      {categoryString2 {tag_id3 {[fr]=>item3FR, [en]=>item3EN} 
    
    }
    
  2. Отправьте эту информацию на мой серверный скрипт при отправке моей формы (не через javascript, а через обычную почтовую форму).

  3. Разобрать полученную информацию на моем серверном скрипте (PHP).

Пункт 1 делается так:

function initTagArray(listSelector) {
    var et_tag_list = new Object();
    var cat = "CATDEF";
    et_tag_list[cat] = new Object();

    listSelector.each(function() {
        et_tag_list[cat][$(this).val()] = [];
        et_tag_list[cat][$(this).val()]['fr'] = [$(this).text()];
        et_tag_list[cat][$(this).val()]['en'] = [$(this).text()];
    });

    return et_tag_list;
}​

Точка 2 : Я думал о сохранении этой информации в массиве JSON, но не уверен, как ... Путем анализа моего объекта / массива и создания массива json вручную?

Точка 3 : Если будет отправлен массив Json, его будет легко проанализировать.

Я ищу здесь лучшие практики, как сделать это максимально чистым способом.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2011

Использовать строковый объект / данные json, которые либо анализируются следующим образом:

var myJSONObject = {"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
}

var myJSONText = JSON.stringify(myJSONObject );

Вы можете найти эти ссылки для реализации и т. Д .:
контрольный вопрос text on this link: доступ к объекту json
JSON в JavaScript
JSON.stringify
передать объект json в массив - автозаполнение
Создание сериализованного объекта JSON для вызова $ .postJSON

0 голосов
/ 18 декабря 2011

Попробуйте JSON.stringify на этих объектах. В интернете вы найдете много статей о том, как работает stringify. Например попробуйте это: https://developer.mozilla.org/En/Using_native_JSON.

Вы можете структурировать сложные объекты JavaScript (скажем, x), если определите для него функцию toJSON (возможно, вы реализуете ее так, что она соберет data в виде простого словаря js, а затем Вы позвоните на JSON.stringify(data) и затем позвоните JSON.stringify(x).

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