我希望使用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=
我读过类似的帖子,其中一组对象形成不正确,但无法看到这是如何格式错误的。
任何人都可以提供建议吗?
答案 0 :(得分:5)
正如jQuery.param()的文档中所提到的,对象数组必须采用.serializeArray()返回的特定格式。
jQuery.param()使用数组中每个Object的“name”和“value”键构建参数字符串。您的对象只有“k”和“B”键,因此它们没有正确序列化。