【发布时间】:2013-07-10 03:01:40
【问题描述】:
我需要在数据对象中传递一个对象,但它不起作用
我使用我在这个网站上找到的以下功能,非常有用,将表单数据转换为 JSON
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
然后我需要将该对象作为子对象传递,但它不起作用。过滤器甚至没有显示在检查器的查询字符串参数中
var filters = $('.filtersForm').serializeObject();
$.ajax({
type: 'GET',
data: {script:'search',page:page,filters:filters},
success: function(data){
}
});
查看图片中如何缺少“过滤器”
有人能解释一下为什么我不能传递这样的对象吗?
【问题讨论】:
-
您使用这个 serializeObject 函数而不是 JSON.stringify() 的任何特殊原因?
标签: javascript ajax json object