0

我正在尝试使用postmates API,它首先要求我们使用 http 基本身份验证对自己进行身份验证。下面username代码中的字段是我们插入private API key.

 <script>
    $(document).ready(function(){
        // Request with custom header
        $.ajax({
            url: ' http://username:@api.postmates.com',
            type: 'GET',
            dataType: 'jsonp',
            success: function(response) { alert("Success"); },
            error: function(error) {alert(error); }
        });
    });
    </script>

我们得到的错误是

XMLHttpRequest 无法加载 http://api.postmates.com/?callback=jQuery112008309037607698633_1462052396724&_=1462052396725。预检响应无效(重定向)

4

1 回答 1

0

需要认证

https://postmates.com/developer/docs#authentication

实际使用的标头将是一个 base64 编码的字符串,如下所示:

基本 Y2YyZjJkNmQtYTMxNC00NGE4LWI2MDAtNTA1M2MwYWYzMTY1Og==

尝试

$(document).ready(function(){
        // Request with custom header
        $.ajax({
            url: ' http://username:@api.postmates.com',
            type: 'GET',
            dataType: 'jsonp',
            success: function(response) { alert("Success"); },
            error: function(error) {alert(error); },
            beforeSend: function (xhr) {
                    xhr.setRequestHeader ("Authorization", "Basic Y2YyZjJkNmQtYTMxNC00NGE4LWI2MDAtNTA1M2MwYWYzMTY1Og==");
                    }
        });
    });

我不测试,因为 jsfiddle 阻止外部请愿。

于 2016-04-30T22:04:37.440 回答