如何从列表中提取值?

时间:2013-04-10 11:34:31

标签: javascript microsoft-metro winjs

首先,我有这样的列表,如下所示:

        var data = {};
        liste_path_categories.forEach(function (element) {
        data[element.letter] = {};
        data[element.letter][element.id_categ] = element.reponse;
            });

所以我检查了列表是否已填写:

       console.log("list data[][] to be send to the web service");
        for (var o in data) {
        for (var p in data[o]) {
            console.log("data[" + o + "][" + p + "]= " + data[o][p]);

        }

一切都好。 现在,当我将它附加到FormData对象时,将其作为xhr post请求的数据:

      var mdata = new FormData();
    mdata.append('token', token);
    mdata.append('game_session_id', WinJS.Application.sessionState.game_session_id);
   /* mdata.append('data[A][6480]', "Affz");
    mdata.append('data[A][6483]', "Azfzf");
    mdata.append('data[A][6487]', "Azfz");
    mdata.append('data[A][6484]', "Afzf");
    mdata.append('data[A][6486]', "Azfzf");
    */
    mdata.append('data', data);

当我发送我有问题内部服务器问题 但是当我评论该行并在工作中发送mdata.append(以statiw方式的数据)并成功发送。 应该添加到数据列表中的是什么,我尝试了JSON.stringify(数据),但它失败了。 如果有人知道如何提取所有数据并拆分列表数据。 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

因此,如果手动附加产生正确的格式,为什么不只是

for key, subkeys of data
  for subkey, value of subkeys
    mdata.append("data[#{key}][#{subkey}]", value)