无法序列化对象 - 返回undefined的jquery.param

时间:2014-07-31 00:21:38

标签: jquery json object serialization param

我希望使用JQuery.param()编码一个对象数组,然后通过ajax GET请求发送数据。

该对象属于object类型,在执行console.log(JSON.stringify(obj))时,我得到:

[{"k":48.88975598812273,"B":2.362097778320276},{"k":48.88975598812273,"B":2.217902221679651},{"k":48.85023620829814,"B":2.217902221679651},{"k":48.85023620829814,"B":2.362097778320276},{"k":48.88975598812273,"B":2.362097778320276}]

使用JQuery.param(obj)时,它将每个值返回为undefined:

undefined=&undefined=&undefined=&undefined=&undefined= 

我读过类似的帖子,其中一组对象形成不正确,但无法看到这是如何格式错误的。

任何人都可以提供建议吗?

1 个答案:

答案 0 :(得分:5)

正如jQuery.param()的文档中所提到的,对象数组必须采用.serializeArray()返回的特定格式。

jQuery.param()使用数组中每个Object的“name”和“value”键构建参数字符串。您的对象只有“k”和“B”键,因此它们没有正确序列化。