gpt4 book ai didi

Jquery DataTable 将参数传递给 ajax 调用 asp.net。无效的 JSON 原语

转载 作者:行者123 更新时间:2023-12-01 04:03:55 25 4
gpt4 key购买 nike

下面是我的 java 脚本代码,用于使用服务器数据填充 HTML 表,我正在使用 Jquery DataTables 来实现此目的。

function LoadData(result) {
$('#example').DataTable({
"ajax": {
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"type": "POST",
"url": "index.aspx/Risky",
"data": function (d) {
return JSON.stringify( d )
//return JSON.stringify(result);
// d.extra_search = result;
//"extra_search": result

},
"dataSrc": function (json) {
return $.parseJSON(json.d);
}
},
"columns": [
{ "data": "Prctice_Group_Risk_No" },
{ "data": "Practice_Group" },
{ "data": "Risk_Category" },
]
});
}

下面是我的网络方法描述背后的代码

[WebMethod]
[ScriptMethod]
public static string Risky()
{
return JsonConvert.SerializeObject(riskList);
}

到目前为止,它工作正常,我的 Web 方法被调用,并且我的 HTML 表格被填充。

但我的问题是,我想将变量“结果”作为参数传递给此 ajax 调用,以便我的 Web 方法接收它并返回基于此参数的特定数据。

我访问过https://datatables.net/reference/option/ajax.data并尝试遵循那里描述的所有方法,通过我的ajax调用传递额外的数据,正如您在我的java脚本代码中看到的三行注释代码一样,我尝试了这三种不同的方法,但没有一种方法对我有用,导致我对于一个相同的问题,“无效的 JSON 原语”,在我的 Firebug 调试器中带有 500 服务器状态代码。我可以在我的 Firebug 调试器中看到传递给该方法的参数是“extra_search=123”

我可以从错误描述中猜测我添加此额外参数的方式不正确,例如,不知何故它没有生成正确的 json 格式。但我不知道如何纠正它。

请大家帮忙。

最佳答案

在 @Sanjay Kumar N S 和此链接的帮助下

https://datatables.net/forums/discussion/24546/ajax-data-invalid-json-primitive-error

我可以解决我的问题。问题是没有将有效的格式化 JSON 数据发送到服务器,因此服务器抛出“无效的 JSON 基元”异常

以下是发送包含来自 DataTable 函数内的额外数据的 ajax 调用的正确格式

function LoadData(result) {
$('#example').DataTable({
"ajax": {
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"type": "POST",
"url": "index.aspx/Risky",
"data": function (d) {
return "{FileName:" + result+ "}";

},
"dataSrc": function (json) {
return $.parseJSON(json.d);
}
},
"columns": [
{ "data": "Prctice_Group_Risk_No" },
{ "data": "Practice_Group" },
{ "data": "Risk_Category" },
]
});
}

关于Jquery DataTable 将参数传递给 ajax 调用 asp.net。无效的 JSON 原语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33752799/

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