请求JSONP时如何设置授权HTTP头?

时间:2016-12-02 06:26:57

标签: jquery ajax jsonp yelp

我正在尝试向Yelp API发送GET请求。

当我尝试使用以下代码时,我收到401错误。根据我的研究,如果我要请求JSONP数据,我认为我不能以这种方式设置授权。但是,当我尝试使用其他数据类型时,我收到了跨源请求阻止错误。我该如何解决这个问题?

function findFood() {
        var lat = document.getElementById("lat");
        var lon = document.getElementById("lon");

        console.log("lat: " + lat.textContent + " lon: " + lon.textContent);

        var url = API_HOST + SEARCH_PATH + "term=" + SEARCH_TERM + "&radius=" + SEARCH_RADIUS + "&latitude=" + parseFloat(lat.textContent) + "&longitude=" + parseFloat(lon.textContent);

        console.log(url);
        console.log("Bearer " + ACCESS_TOKEN);

        $.ajax({
            type: "GET",
            url: url,
            dataType: 'jsonp',
            beforeSend: function (xhr) {
                xhr.setRequestHeader('Authorization', 'Bearer ' + ACCESS_TOKEN);
            },
            success: function (data) {
                console.log(JSON.stringify(data));
            }
        })

    };

1 个答案:

答案 0 :(得分:0)

您是否尝试过POST数据替换标头?在Yelp网站上,这就是他们所说的! 检查这些链接:jQuery API Post &安培; Yelp API 2.0 Authentification我真的希望这会奏效!请在评论部分告诉我们!