Openlayers+vue呼叫GeoServer的api報跨域錯誤解決方法

Openlayers+vue呼叫GeoServer的api報跨域錯誤解決方法

一、問題

在vue專案中使用openlayers載入展示geoserver釋出的地圖服務,透過單擊地圖查詢點選位置的空間要素資訊,呼叫的geoserver請求介面為“GetFeatureInfo”。透過axios進行請求,報跨域錯誤:No ‘Access-Control-Allow-Origin’ header is present on the requested resource。

二、解決方法

進入geoserver安裝目錄“A:\geoserver-2。19。2\webapps\geoserver\WEB-INF”下,開啟編輯“web。xml”檔案,如下:

Openlayers+vue呼叫GeoServer的api報跨域錯誤解決方法

找到如下節點,取消註釋。

<!—— Uncomment following filter to enable CORS in Jetty。 Do not forget the second config block further down。——> cross-origin org。eclipse。jetty。servlets。CrossOriginFilter chainPreflight false allowedOrigins * allowedMethods GET,POST,PUT,DELETE,HEAD,OPTIONS allowedHeaders *

<!—— Uncomment following filter to enable CORS——> cross-origin /*

重啟geoserver即可。