我第一次尝试在ASP.NET中使用AJAX - 尝试将以下数据传递到相应的aspx页面中的WebMethod:
$.ajax({
type: "POST",
url: "myurl.aspx/SaveScreen",
data: "{'data': " + JSON.stringify(arrayRows.data) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
这是我在aspx页面中的WebMethod。我试过传递一个简单的数据对象,它只包含一个键和值,它成功运行。尝试传递此对象时,出现错误,指出存在代码500的内部服务器错误。
我可能做错了什么?
答案 0 :(得分:2)
试试这个:
data: {"data": JSON.stringify(arrayRows.data)}
答案 1 :(得分:0)
您可以将数据字符串包装在引号中:
$.ajax({
type: "POST",
url: "SpecifyPositioning.aspx/SaveScreen",
data: "{'data': '" + JSON.stringify(arrayRows.data) + "'}", //Added ' around JSON.stringify to pass string instead of object
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
然而,这将是一个更清洁的解决方案:
data: {"data": JSON.stringify(arrayRows.data)},
答案 2 :(得分:0)
试试这个:
data: "{data: '" + JSON.stringify(arrayRows.data) + "'}"