调用远程Web API时出错

时间:2017-12-14 10:50:46

标签: javascript json ajax asp.net-web-api

我正在使用网站并点击第三方api但收到错误  No 'Access-Control-Allow-Origin' header is present on the requested resource

的Ajax:

var headers = new Headers();
    headers.append('Access-Control-Allow-Origin', '*');
    headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');
    headers.append('Accept', 'application/json');
    headers.append('content-type', 'application/json');
    headers.append('AuthToken', '2948f47085e9d8ecd95bd21ebe024a01516105f9')
    headers.append('Access-Control-Allow-Origin', 'http://localhost:61030/Test.aspx');
    headers.append('Access-Control-Allow-Credentials', 'true');

    $.ajax({
        crossDomain: true,
        type: "GET",
        url: "https://api.travelcloudpro.eu/v1/cache/flyfrom?origin=DEL&pointOfSale=US",
        //headers: { '[{"key":"AuthToken","value":"2948f47085e9d8ecd95bd21ebe024a01516105f9","description":""}]': 'some value' },
        //  header: { 'AuthToken': '2948f47085e9d8ecd95bd21ebe024a01516105f9' },
        header:headers,
        dataType: "json",
        data:{},
        success: function (data) {
            debugger;
            var flightresponse = data;

            //alert($("#city").val());
        }
    });

从邮递员那里打电话时工作正常。

enter image description here

我不知道缺少什么,TIA。

如果我将数据类型json更改为jsonp然后收到此错误: - enter image description here

1 个答案:

答案 0 :(得分:0)

我猜你正在提到“第三方api”你正在向具有不同IP地址(或端口号)的服务器发送请求,这会在大多数浏览器中产生CORS错误(跨源资源共享),例如firefox和chrome。 / p>

+here you can read more about why it happens.+

您需要添加一个讨论+here+的CORS过滤器。

我不是.net程序员,但我希望它可以提供帮助。