创建映射时出现同源策略错误
same origin policy error when creating map
我尝试运行下面的代码,使用 OpenLayers 创建地图。该代码是《地理服务器初学者指南》中的一个示例。
该代码将创建一个地图并向其添加几个图层。客户端代码(如下)从本地文件系统加载,图层数据从 post 8080 本地运行的地理服务器下载。
该代码应该创建一个地图并向其添加几个图层。第二层由addGeoRSS
函数添加。第一层添加成功,但添加第二层失败,并显示以下错误
跨源请求被阻止:同源策略不允许在 http://localhost:8080/geoserver/tiger/wms?service=WMS&version=1.1.0&request=GetMap&layers=tiger:poi&styles=&bbox=-74.0118315772888,40.70754683896324,-74.00153046439813,40.719885123828675&width=427&height=512&srs=EPSG:4326&format=application%2Frss%2Bxml 读取远程资源。可以通过将资源移动到同一域或启用 CORS 来解决此问题。
鉴于两个层都是从同一主机下载的,我希望它们都会失败,为什么只有第二层会导致问题?
var GEOSERVERBASE = "http://localhost:8080";
var CountyLayer = 'tiger:tl_2011_us_county';
var map;
function mapinitialize() {
map = new OpenLayers.Map('map', {
maxResolution:'auto',
projection: 'EPSG:4326'
});
layer = new OpenLayers.Layer.WMS(
CountyLayer, GEOSERVERBASE + "/geoserver/tiger/wms",
{
layers: CountyLayer,
format: 'image/png'
}
);
// first (successful) request to Geoserver running at http://localhost:8080
map.addLayer(layer);
map.zoomTo(9);
map.panTo(new OpenLayers.LonLat(-73.99, 40.75));
// second request to Geoserver that causes a CORS error
addGeoRSS();
}
function addGeoRSS() {
var value = GEOSERVERBASE + '/geoserver/tiger/wms?service=WMS&version=1.1.0&request=GetMap&layers=tiger:poi&styles=&bbox=-74.0118315772888,40.70754683896324,-74.00153046439813,40.719885123828675&width=427&height=512&srs=EPSG:4326&format=application%2Frss%2Bxml';
var georss = new OpenLayers.Layer.GeoRSS('Tiger POI', value);
map.addLayer(georss);
}
您的第一个图层请求是针对图像 ( .png
),并且图像不受 CORS 限制。但是,CORS 错误的原因仍然是您使用file://
加载客户端代码,然后尝试加载具有http://
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 使用 sailsjs 护照身份验证本地策略既不会给出任何错误,也不会对用户进行身份验证
- 创建映射时出现同源策略错误
- 跨源策略错误
- REST API错误:拒绝连接到..因为它违反了以下内容安全策略指令:
- Passport.js和MongoStore错误“;在MongoStore中找不到连接策略”;
- Modernizr导致内容安全策略(CSP)违反错误
- 当无法控制同源策略错误时,如何避免同源策略错误
- firefox OS内容安全策略错误,基于XHR的应用程序在Index.html
- 快递和护照错误:未知的认证策略“登录”
- Chrome插件和内容安全策略错误
- 错误:访问受限的URI被拒绝-同源策略
- 内容安全策略:无法't在Firebug中解析无效的源chrome扩展-FB脚本错误
- Tumblr 上的 JS:“跨域资源共享策略”错误