带有Authorization标头的Ajax GET

时间:2015-07-29 11:39:57

标签: javascript ajax http postman

我使用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) - 同样的结果。

1 个答案:

答案 0 :(得分:1)

浏览器阻止您发出跨域请求,以保护您免受安全漏洞的侵害 (这不会发生在邮递员身上,因为邮递员是浏览器扩展程序,因此具有与标准网页不同的权限。)

<击> 有几种方法可以解决这个问题:
 1.如果两个域都在您的控制之下,那么请使用     Access-Control-Allow-Origin HTTP header
 2.使用jsonp制作     电话