“ Access-Control-Allow-Origin”标头包含多个值

阿拉·贾杜(Alaa M. Jaddou)

我正在尝试将get请求发送到api,就像它是一个登录网址

var url = "http://demo.software.travel/gptp/api/authorization?apiKey=****&alias=****&login=****&password=****"
$.get(url, function(data) {
    console.log(data);
});

我在控制台中收到此错误

XMLHttpRequest无法加载http://demo.software.travel/gptp/api/authorization?apiKey= ****&alias = ****&login = ****&password = ****。“ Access-Control-Allow-Origin”标头包含多个值“ http://travellights.net,* ”,但仅允许一个。因此,不允许访问源“ http://travellights.net ”。

我试图在这里看到解决问题的方法,但是我没有得到我需要更改的内容,实际上这很烦人。

“ Access-Control-Allow-Origin”标头包含多个值

这由asp.net web.congif解决

顺便说一句,我正在使用CHROME BROWSER,我感激不尽。

UPDATE响应头:

Access-Control-Allow-Credentials:true
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin, x-requested-with, Content-Type, accept, Token
Access-Control-Allow-Methods:GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS
Access-Control-Allow-Origin:http://travellights.net
Access-Control-Allow-Origin:*
Connection:close
Content-Encoding:gzip
Content-Type:application/json;charset=utf-8
Date:Thu, 02 Jun 2016 16:41:18 GMT
Server:nginx/1.1.19
Set-Cookie:JSESSIONID=51FEE1A1206B9B481DD3EEA4167A9256; Path=/gptp
Vary:Origin
Vary:Accept-Encoding
X-UA-Compatible:IE=EmulateIE7

请求标头:

Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,ar;q=0.6,en-GB;q=0.4
Connection:keep-alive
Host:demo.software.travel
Origin:http://travellights.net
Referer:http://travellights.net/b2b/Pages/login?
User-Agent:Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
巴米

您正在尝试进行跨域资源共享(CORS),该机制允许从网页上的受限资源向资源来源域之外的其他域请求网页上的受限资源。(例如访问字体或JSON文件)。

浏览器从同源策略中限制您对其他来源资源的访问,这是Internet用户的一项安全措施。

要解决此问题,您必须选择:

  1. 允许在域http://demo.software.travel上使用CORS (但存在安全问题,请在此处进行更多说明:https : //www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Cross_Origin_Resource_Sharing

在服务器上启用CORS以能够访问其他域。这可以通过将以下标头添加到响应中来完成:

Access-Control-Allow-Origin: http://travellights.net Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept

  1. 如果未授予您与该域的资源共享,则可以使用JSONP进行只读操作(JSONP本质上是只读的)

JSONP将JSON对象包装在回调中,从技术上讲,这使请求成为非受限资源(脚本标签),因此可以跨域共享。

通过在页面上添加脚本标签,可以通过vanilla js完成此操作。

function process(data) {
    // do stuff with JSON
}

var script = document.createElement('script');
script.src = '//domainURL?callback=process'

document.getElementsByTagName('head')[0].appendChild(script);

或者您可以使用jquery实现相同的目的:

$.ajax({enter code here
    url: "http://query.yahooapis.com/v1/public/yql",
    jsonp: "callback",
    dataType: "jsonp",
    data: {
        q: "select title,abstract,url from search.news where query=\"cat\"",
        format: "json"
    },
    success: function( response ) {
        console.log( response ); // server response
    }
});

jQuery文档:https : //learn.jquery.com/ajax/working-with-jsonp/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

“ Access-Control-Allow-Origin”标头包含多个值

CORS问题:“ Access-Control-Allow-Origin”标头不得包含多个值

修复 NGINX 中的“Access-Control-Allow-Origin”标头包含多个值错误

NGINX'Access-Control-Allow-Origin'标头包含多个值

“ Access-Control-Allow-Origin”标头包含多个值“ *,*”,但只允许一个

如何防止“ Access-Control-Allow-Origin”标头包含多个值

Spring Boot - 'Access-Control-Allow-Origin' 标头包含多个值,但期望只有一个

如何修复“'Access-Control-Allow-Origin' 标头包含多个值 '*、*',但只允许一个。”?

多个Access-Control-Allow-Origin标头

CORS – 跨域请求被阻止 – 'Access-Control-Allow-Origin' 标头包含无效值

从Angular JS调用到Web API错误:“ Access-Control-Allow-Origin”标头包含多个值,因此不允许访问Origin

CORS 政策问题刚刚开始,没有更改代码 - “CORS 政策:'Access-Control-Allow-Origin' 标头包含多个值”

不允许多个 CORS 标头“Access-Control-Allow-Origin”/缺少 CORS 标头“Access-Control-Allow-Origin”)

Access-Control-Allow-Origin标头必须包含方案吗?

表单提交失败::响应必须包含AMP-Access-Control-Allow-Source-Origin标头

Access-Control-Allow-Origin标头如何工作?

Azure 没有“Access-Control-Allow-Origin”标头

没有exportLink的“ Access-Control-Allow-Origin”标头

Access-Control-Allow-Origin标头不起作用

获取Access-Control-Allow-Origin标头错误

Foursquare返回“ No access control allow origin”标头存在错误

Beego - 修复无“Access-Control-Allow-Origin”标头

没有'Access-Control-Allow-Origin'标头-Laravel

存在“ Access-Control-Allow-Origin”标头

在Aurelia中添加“ Access-Control-Allow-Origin”标头

在IIS中修改Access-Control-Allow-Origin标头

$ .post没有'Access-Control-Allow-Origin'标头

Wordpress functions.php 中的多个 Access-Control-Allow-Origin CORS 标头

光纤 CORS 中间件返回 null Access-Control-Allow-Origin 标头值