我按照说明使用bower创建arcgis js api 4.1的本地副本。当我运行我的项目(使用requirejs)时,我得到一个CORs错误说: 选项http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=json XMLHttpRequest无法加载http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=json。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:4000”访问。响应的HTTP状态代码为501。
这个错误是奇怪的b / c API不应该对此url进行预检(选项)请求,它应该发出一个get请求(原来这就是如果你不使用API的本地副本它会做什么,而不是使用CDN版本)。我已经尝试了所有的esri / config选项来禁用cors但似乎没有任何工作。它不会加载地图图块。有谁知道如何解决这个问题?
以下是我项目的配置文件:
requirejs.config({
paths: {
"jquery": 'https://code.jquery.com/jquery-3.1.0.min',
'esri/moment': 'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment',
"esri": "../lib/main", //If I use this URL, everything works http://js.arcgis.com/4.1/esri
"dojo": 'http://js.arcgis.com/4.1/dojo',
"dojox": 'http://js.arcgis.com/4.1/dojox'
},
bundles: {
"esri": ["esri/Color",
"esri/geometry/Point",...]
},
...
});