【发布时间】:2014-02-25 15:30:41
【问题描述】:
我正在尝试使用 ajax 中的 HTTP POST 方法将 json 数据作为文本发送到我的 MVC4 项目中的控制器。这是我的 ajax 代码:
function saveService() {
var data0 = $("#nameInput").val();
var data1 = generateJSON();
var data2 = $("#wellContainer").html();
var jsondataobject = { name: data0, counter: counter, json: data1, html: data2 };
var stringobject = JSON.stringify(jsondataobject);
console.log(stringobject);
console.log(data1);
$.ajax({
type: 'POST',
dataType: 'text',
url: "http://localhost:49162/Admin/SaveNewTemplate",
data: "jsonData=" + stringobject,
success: function (returnPayload) {
console && console.log("request succeeded");
},
error: function (xhr, ajaxOptions, thrownError) {
console && console.log("request failed");
},
processData: false,
async: false
});
}
这是我的控制器方法
[HttpPost]
public void SaveNewTemplate(String jsonData)
{
DataAccessLayer DAL = new DataAccessLayer();
DAL.SaveServiceTemplate(jsonData);
}
这是我在控制台中的错误:
POST http://localhost:49162/Admin/SaveNewTemplate 500 (Internal Server Error)
我的 stringobject 是一个正确的 json 对象转换为字符串。如果我用一些随机文本替换 ajax 函数中的这个变量,它就可以工作。
为什么会出现 500 错误?
【问题讨论】:
-
我遇到了同样的错误。你有解决办法吗?
标签: jquery asp.net-mvc json http-post