【发布时间】:2015-03-16 10:05:02
【问题描述】:
我在使用 Ajax 将 Handsontable 数据发布到 ASP.NET 代码隐藏函数中时遇到错误 500 内部错误。我不明白我要去哪里错了。请帮忙。
我的 Ajax 代码:
function SaveData() {
// Check What's Getting Updated
for(var i in changedData){
console.log(changedData[i]);
}
// Ajax Call
$.ajax({
type: "POST",
url: "StudentHandsOn.aspx/SaveData",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(changedData),
success: function (changes) {
console.log('Data Updated: '+changedData);
},
error: function (thrownError) {
alert("Error" + thrownError);
}
});
}
我的 C# CodeBehind 是:
[WebMethod]
public static void SaveData(List<Student> students)
{
StudentHandsOn handsOn = new StudentHandsOn();
handsOn.displayMessage();
}
public void displayMessage()
{
Response.Write("<script>alert('Function Called.... Working Fine ');</script>");
}
我已经使用 SaveData 中的 for 循环检查了 ChangedData 数组中的内容,并且运行良好。
["st_01", "Albert ", 3, "CE ", "Angela ", 70, 90, 90, 250, 83.33333333333333, "B "] StudentHandsOn.aspx:218
["st_02", "Inger ", 2, "CE ", "Angela ", 67, 98, 99, 264, 88, "B "] StudentHandsOn.aspx:218
POST http://localhost:53600/StudentHandsOn.aspx/SaveData 500(内部服务器错误)
更新:
我在代码中添加了几行:
var studentData = JSON.stringify(changedData) ;
console.log(studentData);
并将 SaveData 方法中的 Parameter 类型更改为 List。我在控制台中得到了输出。
[["st_01","Albert ",3,"CE ","Angela ",70,90,90,250,83.33333333333333,"B "],["st_02","Inger ",2,"CE ","Angela ",67,98,99,264,88,"B "],["st_03","Hamlet ",1,"EE ","Emily ",60,60,60,180,60,"D "],["st_04","Jiny ",4,"CS ","Vannila ",100,80,70,250,83.33333333333333,"B "]] StudentHandsOn.aspx:218
POST http://localhost:53600/StudentHandsOn.aspx/SaveData500(内部服务器错误)
我现在得到一个数组数组。如何将此传递给方法背后的代码?
【问题讨论】: