我使用以下代码调用控制器操作 我在控制台中得到interanl服务器错误500,路径看起来很好,所以可能是什么问题。 entryId的值为1 ...
这是AJAX CALL
$.ajax({
type:'POST',
url: "../../user/DeleteConfirmed",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: 'id=' + entryId
});
这是控制器动作代码
[HttpPost, ActionName("DeleteConfirmed")]
public JsonResult DeleteConfirmed(int id)
{
..
错误是
POST https://127.0.0.1/user/DeleteConfirmed 500 (Internal Server Error) jquery-2.1.1.js:8623
jQuery.ajaxTransport.send jquery-2.1.1.js:8623
jQuery.extend.ajax jquery-2.1.1.js:8152
(anonymous function) Index:519
jQuery.event.dispatch jquery-2.1.1.js:4409
jQuery.event.add.elemData.handle
答案 0 :(得分:0)
您没有正确构建data
属性:您发送的字符串如id=3
,无法解析为JSON,因此您收到服务器错误。
所以你只需要修复你的数据:你需要使用控件的参数名称键来控制你的操作,你需要使用JSON.stringify
方法将它变成一个合适的JSON字符串:
$.ajax({
type:'POST',
url: "../../user/DeleteConfirmed",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ id: entryId })
});