我正在尝试使用AJAX请求更新数据库中的记录。我能够使用类似以下的方式进行插入,但在尝试更新或删除时不成功。
这是我的ajax PUT方法:
$('#updateCr').click(function(e) {
e.preventDefault();
var updatedData = {
CrId: $('#CrId').val(),
CrName: $('#CrName').val(),
CrStatus: $('#CrStatus').val(),
CrPriority: $('#CrPriority').val(),
CrTitle: $('#CrTitle').val(),
CrDescription: $('#CrDescription').val()
};
console.log(changeRequest);
$.ajax({
type: "PUT",
url: "@Url.Action("MyControllerAction", "Home")",
content: "application/json; charset=utf-8",
dataType: "json",
data: updatedData,
cache: false,
success: function(d) {
if (d.success == true)
window.location = "index.html";
else {}
},
error: function(xhr, textStatus, errorThrown) {
// TODO: Show error
}
});
以下是我的控制器代码:
[HttpPut]
public JsonResult MyControllerAction(UpdatedDataObject updatedData)
{
try
{
myModel.UpdateDataMethod(updatedData);
}
catch (Exception e)
{
var theerrror = e.ToString();
return Json(new { result = theerrror });
}
return Json(new { result = "Success" });
}
提交数据时,控制器被触发,但没有接收到JSON对象。这里我做错了什么?
MyControllerAction(int id, UpdatedDataObject updatedData)
。 - Mark Schultheiss