我正在尝试构建一个ASP.NET MVC Web服务,我正在尝试使用jQuery ajax在javascript中进行POST调用,如下所示。
$.ajax({
url: "/bug/CreateBug",
type: "POST",
data: rowData,
contentType: "application/json",
datatype: "json", //return type
success: function (data) {
console.log(data);
},
error: function (xhr) {
alert('error');
}
});
我一直收到错误TypeError: e is undefined
。我尝试在此ajax调用之前添加一个日志语句,并且工作正常。不知道我错过了什么。我的rowData
看起来像下面的内容。
{
"Date": "2016-12-31",
"Id": "1234-csj4-sadf-random",
"Scenario": "abc",
"IsFixed": "No"
}
控制器中的我的C#代码看起来像这样
[HttpPost]
public JsonResult CreateBug(string jsonRequest)
{
var bugId = GetBugId(jsonRequest);
return this.Json(bugId, JsonRequestBehavior.AllowGet);
}
我尝试使用Postman测试上述POST调用,并jsonRequest
为null
。有人可以帮我解决一下如何让POST请求工作吗?
提前致谢!
答案 0 :(得分:1)
try it hope it works
$.ajax({
url: "/bug/CreateBug",
type: "POST",
data: JSON.stringify(rowdata),
contentType: "application/json",
datatype: "json", //return type
success: function (data) {
console.log(data);
},
error: function (xhr) {
alert('error');
}
});
------在控制器上 做这样的事情或最好的方法是创建具有所有这些属性的模型,MVC将为您绑定它。
[HttpPost]
public JsonResult CreateBug(string Id, string Date, string IsFixed , string Scenario)
{
var bugId = GetBugId(jsonRequest);
return this.Json(bugId, JsonRequestBehavior.AllowGet);
}