[英]No 'Access-Control-Allow-Origin' - CORS
我尝试通过XMLHttpRequest
获取内容:
var url = 'http://mapy.geoportal.gov.pl/wss/service/SLN/guest/sln/woj.json'
if (XMLHttpRequest) {
var request = new XMLHttpRequest();
if ('withCredentials' in request) {
request.open('GET', url, true);
request.withCredentials = 'true';
request.withCredentials = 'true';
request.setRequestHeader('Access-Control-Allow-Origin', '*');
request.send();
}
}
我收到下一条消息:
XMLHttpRequest无法加载http://mapy.geoportal.gov.pl/wss/service/SLN/guest/sln/woj.json 。 对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。 因此,不允许访问原始“空”。
如何解决这个问题? 我将Access-Control-Allow-Origin
标头设置为*
继续我的网址问题: jsonp继续
您在前端附加了Access-Control-Allow-Origin
,但在服务器端处理请求时应添加该标头。 服务器应附加Access-Control-Allow-Origin
, Access-Control-Request-Method
标头以响应允许对前端执行请求的响应。
我的猜测是,您无法修改服务器处理请求的方式,并且服务器不支持JSON Padding(JSONP) , 因此您必须使用JSON代理来获取该JSON数据...
请参阅“ 如何为服务器添加CORS支持”一文,以及Access-Control-Allow-Origin标头如何工作? 所以问题以获得有关CORS的更多信息。
CORS是浏览器唯一的东西。
当您尝试从当前来源(当前域)访问某个资源到另一个域时,浏览器将阻止此请求。
现在,服务器或您想要获取资源的任何东西都希望将您的域列入白名单,可以通过添加一些标头将其列入白名单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.