代码之家  ›  专栏  ›  技术社区  ›  Wayne

向PHP提交Javascript对象

  •  0
  • Wayne  · 技术社区  · 17 年前

    我有一个很大的数据集 更喜欢 作为对象而不是数组提交;例如

    foo = bar = baz = {};
    $.ajax({
        url: "index",
        type: "post",
        data: { foo: foo, bar: bar, baz: baz },
        dataType: "json"
    });
    

    提交时,Firebug告诉我,我已提交:

    bar [object Object]
    baz [object Object]
    foo [object Object]
    

    我想要的是能够访问foo、bar、baz(当然是人为的例子)的内容。

    2 回复  |  直到 17 年前
        1
  •  3
  •   artlung    17 年前

    在您的示例中,bar、baz和foo都是空对象,[object]无意义是JavaScript尽最大努力将变量转换为字符串。我建议包含一些可以将对象转换为JSON字符串的内容。看见 json.org 特别是 json2.js 然后对它们中的每一个调用stringify()方法:

    foo = bar = baz = {};
    $.ajax({
        url: "index",
        type: "post",
        data: { foo: foo.stringify(), bar: bar.stringify(), baz: baz.stringify() },
        dataType: "json"
    });
    
        2
  •  2
  •   krosenvold    17 年前

    不是。通过HTTP提交的所有内容基本上都是字符串或字符串数组。你 使用 JSON 将每个对象转换为您想要的字符串表示形式。