【问题标题】:ajax call from web api 2 failing来自 web api 2 的 ajax 调用失败
【发布时间】:2014-03-05 20:46:12
【问题描述】:

我正在尝试从 jquery 进行 ajax 调用,我需要从我的 web 服务 (web api) 到我的 android 的 phonegab 应用程序的数据。

我已经从 Nuget 安装了 Cors 并启用了这项服务。

但是当我在 Chrome 中测试我的服务时,我不断收到此错误:

拒绝设置不安全的标头“Origin” jquery-1.10.2.js:8699 请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。

我的 Ajax 代码是:

function list() {
        var result = null;
    $.ajax(
        {
            url: 'mysite',
            beforeSend: function (xhr) {
                xhr.setRequestHeader("Origin", "*");
                xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
            },
            contentType: 'application/json; charset=utf-8',
            type: 'GET',
            crossDomain: true,
            async: false,
            success: function (data) {
                result = data;
            }
        });
    return result;

};

更新

这已添加到我的 webconfig 中

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
        </customHeaders>
    </httpProtocol>
</system.webServer>

【问题讨论】:

    标签: javascript jquery ajax asp.net-web-api2


    【解决方案1】:

    您请求数据的服务器必须授予您的 JavaScript 访问权限。

    Access-Control-Allow-Origin响应 标头而不是请求标头。

    Here 是关于如何在您的服务器上启用跨域请求的指南。

    【讨论】:

      猜你喜欢
      • 2018-12-08
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      • 2020-09-08
      • 1970-01-01
      相关资源
      最近更新 更多