gpt4 book ai didi

jquery - 将数组作为 postData 参数发送

转载 作者:行者123 更新时间:2023-12-01 01:18:17 26 4
gpt4 key购买 nike

这周我刚刚开始使用 jqGrid。我正在尝试创建一个通用函数,我可以调用它来加载具有不同 postData 参数(在函数调用中定义)的 jqGrid。

有什么办法可以做到这一点吗?我考虑的是创建一个数组来存储参数的名称/值,然后将其设置为 postData 中的参数。然后,Web 服务将检查这些参数并将这些参数添加到 SQL 存储过程调用中。

这是通用代码:

var paramArray = new Array();
var p1 = new JQGridParam("CustomerName","John");
var p2 = new JQGridParam("ProductName","Kleenex");
var p3 = new JQGridParam("YearPurchased","2012");

paramArray[0] = p1;
paramArray[1] = p2;
paramArray[2] = p3;

$("#list").jqGrid({
datatype: "json",
url: "services/Customers.asmx/GetCustomerData",
mtype: "POST",
postData: {
sqlParams: paramArray //HERE IS WHERE I NEED THE HELP
},
ajaxGridOptions: { contentType: "application/json; charset=utf-8" },
ajaxRowOptions: { contentType: "application/json; charset=utf-8" },
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
serializeRowData: function (postData) {
return JSON.stringify(postData);
},
jsonReader: {
root: function (obj) { return obj.d.rows; },
page: function (obj) { return obj.d.page; },
total: function (obj) { return obj.d.total; },
records: function (obj) { return obj.d.records; },
},
colModel: [
{name: "CustID", index: "CustID" },
{name: "PurchaseAmount", index: "PurchaseAmount" }],
colNames: ["Customer ID", "Amount Purchased"],
pager: $("#pager"),
loadOnce: true,
rowNum: 10,
rowList: [10,25,50],
gridview: true,
viewrecords: true
});

当我尝试此操作时,它会抛出错误“无法将 System.String 类型的对象转换为 System.Array 类型”。有人知道如何解决这个问题吗?

最佳答案

JSON 字符串化数组。

JSON.stringify(paramArray);

然后在您的网络服务中将 JSON 数据转换回您的对象。

关于jquery - 将数组作为 postData 参数发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8853144/

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