我正在尝试将获取请求发送到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 ”。
我试图在这里看到解决问题的方法,但是我没有得到我需要更改的内容,实际上这很烦人。
这由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用户的一项安全措施。
要解决此问题,您必须选择:
在服务器上启用CORS以能够通过其访问其他域。这可以通过将以下标头添加到响应中来完成:
Access-Control-Allow-Origin: http://travellights.net Access-Control-Allow- Headers: Origin, X-Requested-With, Content-Type, Accept
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/
我试图将get请求发送到api,就像它是一个登录url一样 请求标题:
问题内容: 我有一个带有PHP的NGINX服务器(假设主机名为http://myserver.com)。我有一个PHP脚本,可以从本地主机上的网页通过XHR访问。我将其用作类似于freegeoip.net的GeoIP服务器。 我正在尝试将XHR锁定到特定域。 这是我的配置设置: 我遇到的问题是,当我执行XHR请求时,出现以下错误: 在配置文件中,我只有一个调用,那么为什么会有多个值?有没有办法可以
https://laundrylocker-eg.com/wp-json/wp/v2/delivery-locations JSON中的响应没有出错,所以从Ionic应用程序中,我试图调用这个api来回调这个数据,但面对这个CORS问题,并试图修复它,没有什么能像在chrome中禁用CORS和在开发阶段使用插件为所有域启用CORS那样工作 CORS插件IMG 请求URL:https://laund
Response.AddHeader(“Access-Control-Allow-Origin”,“*”)是如何实现的;行设置多个标题时,包括,但没有当我删除它?
我得到这些错误在浏览器 “响应必须包含AMP Access Control Allow Source Origin标头” 和 表单提交失败:错误:响应必须包含AMP Access Control Allow Source Origin标头" php HTML 我如何编辑它,以避免这些错误?
从http://localhost:8000/api/objectiveshttp://localhost:4200访问XMLHttpRequest已被CORS策略阻止:访问-控制-允许-起源头包含多个值 '*, *', 但只允许一个。