我使用Chrome扩展程序邮递员为适当的标题生成POST和GET请求的代码,但在使用了这几个小时后,我发现我需要帮助。它在Postman中完美运行,但它提供的Javascript代码却有些不对。
如果我在没有身份验证标头的情况下发出请求,我会收到GET 401 - 未经授权。
如果我使用Authentication头发出请求,我会收到OPTIONS 401 - Unauthorized。
$.ajax(
{
"async": true,
"crossDomain": true,
"url": "http://mywebservice.com/example.php?key=myValue",
"method": "GET",
"headers":
{
"authorization": "Basic YWRtaW39NjU1YzVlMWM="
}
})
当我使用正确的授权标头时,有人可以解释为什么我会获得401选项吗?我也尝试过使用btoa(username + ":" + password)
- 同样的结果。
答案 0 :(得分:1)
浏览器阻止您发出跨域请求,以保护您免受安全漏洞的侵害 (这不会发生在邮递员身上,因为邮递员是浏览器扩展程序,因此具有与标准网页不同的权限。)
<击>
有几种方法可以解决这个问题:
1.如果两个域都在您的控制之下,那么请使用
Access-Control-Allow-Origin HTTP header
2.使用jsonp制作
电话
击>