Я выдавать запрос PATCH на мой сервер, чтобы обновить название:Как указать успех с помощью Web API 2?
$.ajax({
url: Settings.get('serverURL') + 'Playlist/UpdateTitle',
type: 'PATCH',
dataType: 'json',
data: {
id: model.get('id'),
title: title
},
success: function() {
console.log("Success!");
},
error: function (error) {
console.error("Failure!");
}
});
[Route("UpdateTitle")]
[HttpPatch]
public IHttpActionResult UpdateTitle(PlaylistDto playlistDto)
{
using (ITransaction transaction = Session.BeginTransaction())
{
PlaylistManager.UpdateTitle(playlistDto.Id, playlistDto.Title);
transaction.Commit();
}
return Ok();
}
Все здорово работает на то, что ошибка обратного вызова AJAX запрос является выполненной и не успех обратного вызова, за исключением.
Перед использованием Web API 2, я использовал следующий метод, который не имел проблемы. Очевидно, что проблема в том, что я возвращающая Ok результат вместо успеха объекта JSON:
[HttpPost]
public JsonResult UpdateTitle(Guid playlistId, string title)
{
using (ITransaction transaction = Session.BeginTransaction())
{
PlaylistManager.UpdateTitle(playlistId, title);
transaction.Commit();
}
return Json(new
{
success = true
});
}
Что такое правильный способ, чтобы указать успех веб-API 2?
Возможно, было бы лучше использовать код состояния 204 (без содержимого), если вы ничего не возвращаете. –
Хорошая идея! Я это сделаю! –