gpt4 book ai didi

jquery - 更好的 JSON 数据结构

转载 作者:行者123 更新时间:2023-12-01 07:16:08 25 4
gpt4 key购买 nike

我有以下 jQuery 代码,它工作正常,并且我能够在服务器中正确反序列化它。

但是当我尝试创建一个变量并将其作为 JSON 对象传递时,它不起作用。 (注释的代码不起作用。这些值没有正确到达服务器)。

引用:http://www.json.org/js.html

如何为 JSON 对象正确定义变量?

$(".searchCostPages").click(function () {


var url = '/SearchDisplay/' + 'TransferSearchCriteria';

//var searchCriteria = {};
//searchCriteria.Accrual = "A";
//searchCriteria.Brand = "B";

//$.getJSON(url, {searchCriteria: searchCriteria
//}, function (data) {
// if (data.length) {
// alert('Success');
// }

//});

$.getJSON(url, {
"Accrual": "A",
"Brand": "B"
}, function (data)
{
if (data.length)
{
alert('Success');
}

});



});

工作 - 网络 header :

enter image description here

不工作 - 网络 header :

enter image description here

更新

以下代码在这里工作。另请参阅jQuery Ajax parameters are not formatted properly

    var searchCriteria = {};
searchCriteria.Accrual = "A";
searchCriteria.Brand = "B";

$.getJSON(url, searchCriteria
, function (data) {
if (data.length) {
alert('Success');
}

});
<小时/>

最佳答案

您的两个示例未将相同的 data 参数传递给 $.getJSON()

工作示例传递此对象:

{
Accrual: "A",
Brand: "B"
}

非工作示例传递此对象:

{
searchCriteria: {
Accrual: "A",
Brand: "B"
}
}

看出区别了吗?

要修复无法正常工作的示例,您可以将 { searchCriteria: searchCriteria } 传递到 $.getJSON() 中,您可以将其更改为 searchCriteria,从而删除了额外的对象级别。

另请注意,这些是您在这里使用的 JavaScript 对象,而不是 JSON。例如,您不必按照 JSON 的要求引用 "Accrual" 等属性名称。 (引用属性名称并没有什么坏处,只是在 JavaScript 对象中没有必要。)了解何时专门处理 JSON 以及何时处理普通 JavaScript 对象很有用,因为它们是不是同一件事。

关于jquery - 更好的 JSON 数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18746864/

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