【发布时间】:2012-01-03 14:34:45
【问题描述】:
当我在以下代码中返回“sdata”时,我收到“System.ArgumentException:无效的 JSON 原语:pagenum”:
function getPageData() {
pagenum = parseInt(eSc("#resultsBtn").attr("data-pagenum"));
if (pageName === "Home") {
scrollPath = "/Home/GetResults/";
sdata = { "pagenum": pagenum, "sortType": sortType };
}
else if (pageName === "Search") {
scrollPath = "/SearchAjax/GetResultsKeyword/";
sdata = { "pagenum": pagenum, "sortType": sortType, "keyword": keyword };
}
else if (pageName === "Cat") {
scrollPath = "/SearchAjax/GetResultsCategory/";
sdata = { "pagenum": pagenum, "sortType": sortType, "ID": categoryId, "Level": level };
}
else if (pageName === "Merchant") {
scrollPath = "/SearchAjax/GetResultsMerchant/";
sdata = { "pagenum": pagenum, "sortType": sortType, "ID": merchantId };
}
}
以及页面加载时的初始化函数:
function init(a, b, c, d, e, f, g) {
getPageData();
eSc.ajax({
type: 'POST',
url: scrollPath,
data: sdata,
success: function (data) {
eSc("#moreResults").html(data);
}
});
}
用户没有看到问题并且仍然返回了正确的数据,但是每次有人在生产中从我们的站点加载更多数据时,我都会收到一封错误电子邮件(在开发中不会发生,因此很难排除故障)。在萤火虫中检查时,我看到传递了正确的数据。那为什么我仍然收到此错误?!
关于为什么会发生这种情况的任何提示?
【问题讨论】:
-
如果您想知道为什么使用
JSON.stringify可以解决问题,您可能会发现这篇文章很有帮助:encosia.com/asmx-scriptservice-mistake-invalid-json-primitive
标签: jquery asp.net-mvc json