我尝试通过 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 cannot load http://mapy.geoportal.gov.pl/wss/service/SLN/guest/sln/woj.json. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
如何解决这个问题?我将 Access-Control-Allow-Origin
header 设置为 *
继续我的问题,网址:jsonp continue
最佳答案
您在前端附加Access-Control-Allow-Origin
,但在服务器端处理请求时应添加该 header 。服务器应附加 Access-Control-Allow-Origin
、Access-Control-Request-Method
header 到允许执行前端请求的响应。
我的猜测是您无法修改服务器处理请求的方式,并且服务器不支持 JSON Padding (JSONP) ,所以你必须使用 JSON Proxy获取 json 数据...
参见How to add CORS support to server文章和How does Access-Control-Allow-Origin header work? SO 问题以获取有关 CORS 的更多信息。
关于javascript - 否 'Access-Control-Allow-Origin' - CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35955290/