相关疑难解决方法(0)

jQuery、CORS、JSON(无填充)和身份验证问题

我有两个域。我正在尝试通过另一个域上的页面从一个域访问 JSON 对象。我已经阅读了有关此问题的所有内容,但仍然无法弄清楚。

提供 JSON 服务的域具有以下设置:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, OPTIONS"
Header set Access-Control-Allow-Headers "origin, authorization, accept"
Run Code Online (Sandbox Code Playgroud)

从我的其他域,我调用以下内容:

$.ajax({
         type:'get',
         beforeSend: function(xhr) {
             var auth = // authentication; 
             xhr.setRequestHeader("Authorization", "Basic " + auth);
         }
         url:myUrl,
         dataType:'json',
         error: function(xhr, textStatus, errorThrown) { console.log(textStatus, errorThrown); }
      })
Run Code Online (Sandbox Code Playgroud)

我知道“auth”已正确初始化(记录并检查)。然而,这是行不通的。在 Firefox 的控制台中,我得到请求 URL:...

Request Method:
OPTIONS

Status Code:
HTTP/1.1 401 Authorization Required
Run Code Online (Sandbox Code Playgroud)

如果我去掉该beforeSend:...部分,我会看到以下内容

Request Method:
GET

Status Code:
HTTP/1.1 401 Authorization Required
Run Code Online (Sandbox Code Playgroud)

但是,服务 JSON 的域也可以服务 JSONP。我不想使用这个,主要是因为应用程序将在专用浏览器上不断运行,我担心这个问题。更重要的是,我真的很想知道我所做的事情到底出了什么问题。我知道出于实际目的,有多种方法可以克服 …

javascript ajax jquery jsonp cors

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

ajax ×1

cors ×1

javascript ×1

jquery ×1

jsonp ×1