目前專案大多使用前後端分離的模式進行開發,跨域請求當然就是必不可少了,很多時候我們會使用在客戶端的ajax 請求中設定跨域請求,也有的在服務端設定跨域。但是有時候會遇到不使用ajax也沒有使用後端服務的情況(如:openlayers 載入本地的arcgis 瓦片資料),我們只需要進行一些靜態資源的獲取,於是我們把它交給了nginx 。看下面vue + openlayers 中讀取本地瓦片的配置
let layers_leshan =
newtilelayer(}
),zindex:-3
, visible:
true})
;
這裡如果使用ajax,層層**根本獲取不到資料,也許有大佬可以做到(只是我試了沒成功);當初我竟然將資料打包,然後放到nginx中來進行測試(哎),如下面是我的nginx 配置
# 這個直接指向了我vue專案的dist目錄,用於nginx 載入讓其在同乙個服務中來解決跨域問題
location /dist/
location /image_map/
其中瓦片目錄如下
最後找到了在nginx中配置允許服務端跨域的方法,將nginx中配置改為
location /image_map/
root html;
}
vue 中配置改為
let layers_leshan =
newtilelayer(}
),zindex:-3
, visible:
true})
;
這樣就可以在vue專案中直接訪問到離線瓦片了,解決了由於跨域而需要在每次執行專案測試時,先build ,然後通過nginx對dist 的對映來進行專案測試(這個太過於麻煩)的問題。 java 服務端設定跨域
自 setheader name,value 如果header中沒有定義則新增,如果已定義則用新的value覆蓋原用value值。addheader name,value 如果header中沒有定義則新增,如果已定義則保持原有value不改變。最簡單的處理方式 response.setheader ...
javaweb服務端跨域支援
專案開發為了支援web瀏覽器ajax的直接請求,涉及到了跨域的需求,通過學習對跨域有了更深入的認識,現在總結一下 跨域指請求和服務的域不一致,瀏覽器和h5的ajax請求有影響,而對服務端之間的http請求沒有限制。跨域是瀏覽器攔截了伺服器端返回的相應,不是攔截了請求。服務端的跨域支援主要包括兩種方式...
nginx允許跨域訪問
1瀏覽器是禁止跨域訪問 nginx access controller allow origin 頭資訊 告訴瀏覽器 允許跨站訪問 設定誇域訪問 這是執行跨域訪問的網域名稱 access controller allow origin 設定允許跨域訪問的方法 access controller al...