Я пытаюсь обновить записи в базе данных с помощью запросов AJAX. Я могу вставить, используя, как показано ниже, но не удастся, когда пытаюсь обновить или удалить.AJAX PUT Request to C# Controller
Вот мой Аякса метод 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. Что я здесь делаю неправильно?
вы проверили реакцию на консоли или, по крайней мере, активизировали через код C#, чтобы увидеть, если какие-либо ошибки бросили? –
Да, консоль показывает объект json, и я прошел через код C# ... никаких ошибок не было, контроллер просто не получает объект JSON, который я пытаюсь передать ему. –
Проблема - опечатка. Возвращенное свойство JSON называется 'result'. В вашем JS-коде вы используете 'success' –