我正在尝试使用邮局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飞行前的响应无效(重定向)
需要身份验证
https://postmates.com/developer/docs#authentication
实际使用的标头将是一个base64编码的字符串,如这个:
基本Y2YyZjJkNmQtYTMxNC00NGE4LWI2MDATA1M2MwYWzMTY1Og==
尝试
$(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阻止外部请愿。