gpt4 book ai didi

c# - 如何使用 Web API 2 表示成功?

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:01 25 4
gpt4 key购买 nike

我正在向我的服务器发出 PATCH 请求以更新标题:

$.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
});
}

表示 Web API 2 成功的正确方法是什么?

最佳答案

问题其实很简单:

dataType: 'json',

告诉 jQuery 不要对服务器的响应类型使用智能猜测。如果服务器不响应 json,它将抛出错误。如果我只是删除该属性,那么一切都会按预期进行。

关于c# - 如何使用 Web API 2 表示成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22413282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com