AJAX 和 WebAPI 的问题

Posted

技术标签:

【中文标题】AJAX 和 WebAPI 的问题【英文标题】:Trouble with AJAX and WebAPI 【发布时间】:2018-07-08 08:41:15 【问题描述】:

我已经为前端构建了一个 WebAPI (.net) 应用程序和一个简单的 html 网站。 通过 Visual Studio 执行时一切正常。

当我尝试在我的主机服务器中使用此应用程序时,我确实通过 JSON 成功地将复杂对象发送(POST)到 webapi(登录)和“获取”复杂对象(用户信息、配置等...)

但是,当我尝试执行“GET”来获取对象列表时,服务器响应:500 - failed to execute 'send' on 'xmlhttprequest': failed to load '<link to my service>'

在简历中: 使用对象的 GET 和 POST 很好 GET 对象列表出错。

我该怎么办?

代码:

函数GetService(urlFunc)

var ret = null;

$.ajax(
    url: urlFunc,
    type: 'GET',
    dataType: 'json',
    async: false,
    crossDomain: true,
    success: function (msg) 
        ret = msg;
    ,
    error: function (msg) 
        //LOG EVENTS
        ret = false;
    
);

return ret;

;

【问题讨论】:

你的代码在哪里?! 如果您发布发生错误的代码会有所帮助(可能先从 javascript 开始) 对不起,伙计们。更新了代码 从不想要发出async: false Ajax 请求。忘记该功能甚至存在。 阅读***.com/questions/14220321/…(“如何从异步调用返回响应?”) 【参考方案1】:

我发现了问题。实际上它在webapi中。它没有发送(出于某种原因)Json 中的列表。当我更改 Return 的类型(例如,对于数组)时,AJAX 会正常接收列表。现在我必须发现如何配置 webapi 以发送对象列表。感谢大家!我也会更改删除异步的代码!

【讨论】:

以上是关于AJAX 和 WebAPI 的问题的主要内容,如果未能解决你的问题,请参考以下文章

Web Api、ajax 和内容类型

webapi 解决ajax跨域请求问题

使用 ajax 调用 webapi get 方法时出现 405 错误

C#+.netFrameWork4.5.2+WebAPI+Jquery+Ajax跨域请求问题

使用表单数据将数组发布到使用 AJAX 的 C# WebAPI

html ajax访问webapi 跨域