据我所知,我的问题是我的GET请求未经授权。但我尝试在标头中添加授权或在URL(api密钥,用户名,密码)中添加值是不成功的。
例如
$.ajax({
type: 'get',
async: false,
beforeSend: function(xhr){
xhr.setRequestHeader('Authorization', 'Basic encodedusername:passwordhere');
},
url: "https://api.pingdom.com/api/2.0/checks",
success: function(Data) {
console.log(Data);
},
error: function(Data) {
}
});
有人可以建议更正Javascript语法以与Pingdom API进行交互吗?我相信我正在尝试不正确地授权他们的文档侧重于我在这种情况下无法使用的PHP。
https://www.pingdom.com/services/api-documentation-rest/#authentication
答案 0 :(得分:0)
我认为在Web浏览器中使用Javascript的Pingdom API是不可能的。
您需要使用jsonp让您的浏览器允许跨网站的Ajax请求,但根据this response,无法在jsonp请求中设置标头。
答案 1 :(得分:0)
我想获得一个简单的jQuery请求,检查我们平台的最后一个Pingdom结果。由于CORS以及需要为身份验证指定自定义标头,这似乎不可能。
我不想为这么简单的东西设置代理服务器,所以我找到了 this answer ,并且能够使用CORS Anywhere方法,它看起来像这样:
users
注意:如果您传递或检索机密信息,请不要使用此功能。如果您正在执行此操作,则应使用自己的代理。但是如果你像我们一样只是获取公共数据,那么这应该是一个很好的,干净的方法来解决CORS限制。