gpt4 book ai didi

c# - 调用从 AJAX 返回 IHttpActionResult 的 GET 方法?

转载 作者:行者123 更新时间:2023-11-30 20:32:38 25 4
gpt4 key购买 nike

AJAX 与返回 IQueryableGetAll 方法一起工作正常,但与 GetOne 一起工作时,它不起作用并返回“undefined”浏览器,这是 ApiController 类中的 Get 方法:

[ResponseType(typeof(Author))]
public IHttpActionResult GetAuthor(int id)
{
Author author = db.Authors.Find(id);
if (author == null)
{
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, $"Author with {id} not found."));
}

return ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, author));
}

这是 AJAX 函数:

$.ajax({
type: 'GET',
url: 'api/Authors',
dataType: 'json',
data:{id:'1'},
success: function (data) {
list.empty();
$.each(data, function (index, val) {
var qualifier = val.AuthorId + ' - ' + val.Name;
list.append('<li>'+qualifier+'</li>')
});
}
});

这是因为 GetAuthor 返回 IHttpActionResult 吗?

获取作者:

public IQueryable<Author> GetAuthors()
{
return db.Authors;
}

控制台窗口的屏幕截图:

enter image description here

最佳答案

Is this because GetAuthor returns IHttpActionResult

不!问题在于您如何处理请求返回的响应。

示例操作返回单个作者,但在客户端被视为集合。

function GetData(id) {
var url = 'api/Authors';
if(id) url = url + '?id=' + id;
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function (data) {
list.empty();
if (!jQuery.isArray(data)) data = [data]; // If a single object is returned, wrap it in an array
$.each(data, function (index, val) {
var qualifier = val.AuthorId + ' - ' + val.Name;
list.append('<li>'+qualifier+'</li>')
});
}
});
}

关于c# - 调用从 AJAX 返回 IHttpActionResult 的 GET 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41105649/

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