javascript - 带有授权 header 的 Ajax GET

标签 javascript ajax http postman

我使用 Chrome 扩展 Postman 为带有适当 header 的 POST 和 GET 请求生成代码,但经过几个小时的处理后,我发现我需要帮助。它在 Postman 中运行得很好,但它提供的 Javascript 代码有些错误。

如果我在没有身份验证 header 的情况下发出请求,我会收到 GET 401 - 未经授权。

如果我使用身份验证 header 发出请求,我会收到 OPTIONS 401 - Unauthorized。

        $.ajax(
        {
        "async": true,
        "crossDomain": true,
        "url": "http://mywebservice.com/example.php?key=myValue",
        "method": "GET",
        "headers": 
            {
                "authorization": "Basic YWRtaW39NjU1YzVlMWM="
            }
        })

任何人都可以解释为什么当我使用正确的授权 header 时我会收到 401 选项吗?我也尝试过使用 btoa(username + ":" + password) - 相同的结果。

最佳答案

浏览器正在阻止您发出跨域请求,以保护您免受安全漏洞的影响。
(这在 postman 中不会发生,因为 postman 是浏览器扩展,因此具有与标准网页不同的权限。)

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

关于javascript - 带有授权 header 的 Ajax GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31699433/

相关文章:

javascript - onsubmit 返回 false,但提交仍然执行

java - 如何在java中下载给定url的文件?

java - 安卓发布请求

javascript - 根据下拉列表的选择提交来自不同字段的数据 - laravel

javascript - 如何将特定时区的 UTC 日期转换为 UTC +0(默认格林威治)?

javascript - 正则表达式 Javascript 用于了解字符串中是否包含模式

javascript - 使用不同级别的节点解析 JSON

如果取消/关闭 HTTP 请求,PHP 会自动终止脚本

python - 在 Python Pandas 的源代码中,pd.read_csv 处理的 URL 在哪里?

javascript - 包括将在 JavaScript 文件中重定向用户的 PHP 代码?