gpt4 book ai didi

javascript - Jquery ajax : object in data object

转载 作者:行者123 更新时间:2023-11-29 18:22:02 25 4
gpt4 key购买 nike

我需要在数据对象中传递一个对象,但它不起作用

我使用我在这个网站上找到的以下功能,非常有用,将表单数据转换为 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){
}
});

enter image description here

看看图片里怎么少了“滤镜”

有人可以解释为什么我不能传递这样的对象吗?

最佳答案

试试这个:

$.ajax({
type: 'POST',
data: JSON.stringify({
script: 'search',
page: page,
filters: filters
}),
contentType: 'application/json'
});
  1. typeGET 更改为 POST。这将允许您发送请求正文。
  2. 使用内置的 JSON 对象将您的 data 参数字符串化,将您的 JS 对象字符串化为 JSON 格式的字符串。 (旧浏览器可能没有这个内置对象,在这种情况下,使用 json2.js 添加它)
  3. contentType 设置为application/json。这基本上表明请求正文是这种类型...这是因为我们只是将其字符串化为 JSON。

关于javascript - Jquery ajax : object in data object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17600175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com