0

我有一个看起来像这样的请求

var xhr = new XMLHttpRequest();
[...]
xhr.send("param1=" + obj.param1 + "&param2=" + val);

我真的更喜欢写类似的东西

xhr.send( {"param1": obj.param1, "param2": val} );

(A) 有可能这样做吗?

(B) 我在哪里可以找到可以回答这个问题的规范?

4

2 回答 2

2

有可能这样做吗?

目前没有,但草案中包含了这些内容:http: //www.w3.org/TR/XMLHttpRequest/#the-send-method。XmlHttpRequest 应该能够发送 ArrayBuffers、Blobs、Documents、字符串和 FormData 对象(html5rocks 中的示例)。

但是,不支持发送对象 - 它们需要可序列化。您可以将它们作为 JSON 字符串发送,或使用众多库函数之一来生成 URL 参数字符串(如jQuery.param())。

我在哪里可以找到可以回答这个问题的规范?

我已经链接了上面的规范,但对于浏览器支持,您需要查看兼容性表或浏览器的文档(例如MDN上的 FF )。

于 2012-07-06T00:22:16.833 回答
0

你可以用 jQuery 轻松地做这种事情: jQuery.ajax({ url: http://yoururl.com, data: {"param1": obj.param1, "param2": val}});

于 2012-07-06T02:42:48.653 回答