Asp.net 进行AJAX调用的JSON基元无效
我得到一个InvalidJSONprimitive错误,这让我发疯。这是代码-你知道我遗漏了什么吗 我还尝试将ID参数作为字符串传递(Asp.net 进行AJAX调用的JSON基元无效,asp.net,jquery,kendo-ui,Asp.net,Jquery,Kendo Ui,我得到一个InvalidJSONprimitive错误,这让我发疯。这是代码-你知道我遗漏了什么吗 我还尝试将ID参数作为字符串传递(数据:“{”ID:“+999+”}”),并将数据类型更改为文本-同样的错误 提前谢谢 var params = {ID: 999}; $(document).ready(function () { $('#ddl').kendoComboBox({ filter: "contains", dataTextField
数据:“{”ID:“+999+”}”
),并将数据类型更改为文本-同样的错误
提前谢谢
var params = {ID: 999};
$(document).ready(function () {
$('#ddl').kendoComboBox({
filter: "contains",
dataTextField : "DBA",
dataValueField: "ID",
dataSource: {
transport: {
read: {
type: "POST",
cache: false,
data: JSON.stringify(params),
url: "../webservices/data.asmx/GetDBA",
contentType: "application/json; charset=utf-8",
dataType: "json"
}
}
}
});
});
ID周围的引号
var params={'ID':999} 您的JSON可能正在进行URL编码;关于一种方法,请参见我的答案。或者,我认为,使用这个方法也应该有效:
var params = {
ID: 999
};
(确保参数名称与服务器端服务中的名称相同)
如果这些解决方案不起作用,您应该检查到达服务器的字符串,并将其附加到问题中。尝试了单引号和双引号。没有骰子(你没有把整件事都用引号括起来,是吗?如果你用JSON.stringify({'ID':999})并把它放在params中,你会得到错误吗?
transport: {
read: {
type: "POST",
cache: false,
data: params,
url: "../webservices/data.asmx/GetDBA",
contentType: "application/json; charset=utf-8",
dataType: "json"
},
parameterMap: function (data, type) {
return kendo.stringify(data);
}
}