【问题标题】:get datum jQuery AJAX from WebAPI return error从 WebAPI 返回错误获取基准 jQuery AJAX
【发布时间】:2018-04-12 09:41:57
【问题描述】:

这是我的 WebApi 操作方法:

public List<MemberViewModel> Get(int org)
{
   return DataAccess.Member.GetMembers(org);
}

还有,这是 jQuery Ajax 调用方法:

$.ajax({
   url: "http://localhost:800/api/Members?org=10",
   type: 'GET',
   contentType: 'application/json; charset=utf-8',
   success: function (results) {
       alert('worked');
   }
});

当我在firebug中检查“Net”选项卡时,可以看到结果为XML的请求,但状态中有“405 Method Not Allowed”错误,因此不会调用成功方法。

我从上面的 js 代码中删除了“contentType”属性,它运行良好但请求的结果为空。

【问题讨论】:

    标签: jquery asp.net-web-api


    【解决方案1】:

    如果您在 800 以外的端口上运行使用 Web API 的 Web 应用程序,则该请求将成为跨域请求。您可以使用 CORS 来解决问题。检查thisthis

    【讨论】:

    • 谢谢,我不能使用 CORS,因为客户端将在 Phonegap 上运行,还有其他使用 call ajax 跨域的选项吗?
    • 你可以试试 JSONP (en.wikipedia.org/wiki/JSONP)。 Web API 没有开箱即用的 JSONP 媒体格式化程序,上次我查看。但是写一个很容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多