Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript(CORS?)进行基本授权API登录_Javascript_Jquery_Json_Cors - Fatal编程技术网

使用Javascript(CORS?)进行基本授权API登录

使用Javascript(CORS?)进行基本授权API登录,javascript,jquery,json,cors,Javascript,Jquery,Json,Cors,我读过很多关于使用Javascript使用基本授权登录站点API的文章,我觉得我已经尝试了所有我看到的建议,但我无法让它工作。我有一种感觉,这可能是一个双重问题,因为我得到了一个401错误和一个无访问控制允许原点错误 有人能给我解释一下我做错了什么吗?我尝试过以几种不同的方式包括授权,但结果总是一样的。我可以通过Python和Postman使用基本授权连接到同一个API,所以我不知道为什么Javascript对我不起作用。对我放松点,我是Javascript新手 这是我的剧本: function

我读过很多关于使用Javascript使用基本授权登录站点API的文章,我觉得我已经尝试了所有我看到的建议,但我无法让它工作。我有一种感觉,这可能是一个双重问题,因为我得到了一个401错误和一个无访问控制允许原点错误

有人能给我解释一下我做错了什么吗?我尝试过以几种不同的方式包括授权,但结果总是一样的。我可以通过Python和Postman使用基本授权连接到同一个API,所以我不知道为什么Javascript对我不起作用。对我放松点,我是Javascript新手

这是我的剧本:

function logIn() {
  var userName = document.getElementById("username").value;
  var pWord = document.getElementById("password").value;
  console.log("Your username is: " + userName);
  $.ajax
  ({
    type: "GET",
    url: "https://example.com",
    dataType: 'json',
    async: false,
    headers: {
      "Authorization": "Basic " + btoa(userName + ":" + pWord)
    },
    success: function (){
    alert('Thanks for logging in!');
    }
});
}
我得到了这些错误:

GET https://example.com 401 (Please log in.)

Failed to load https://example.com No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 401.

您完全正确,CORS阻止您使用API,除非提供者通过“访问控制允许源代码”头明确允许。这是无法绕过的,它是由浏览器安全策略强制执行的。如果可用,请尝试JSONP。此外,如果这对您有效,我不确定API的作用,您可以使用托管在域上的某种代理脚本,API中间人从托管在域下的API访问远程API,以通过CORS