在嘗試從一個web前端使用HTTP Request請求訪問REST服務端時,遇到錯誤: XMLHttpRequest cannot load http://localhost:8080/ping. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access.html
這個錯誤是由於Ajax跨域訪問另一個domain的服務致使的,通常來講可使用JSONP來處理這個問題,即傳一個回調函數到服務器端,再由服務器端將回調函數包裝在JSON對象的外邊返回給客戶端。可是JSONP只對GET請求生效,對POST、PUT、DELETE都不生效,而因爲JSON自己具備必定的不安全性(見此連接),不少客戶端都使用POST來獲取JSON響應。因此如今不少都是使用CORS(詳情見wiki連接),實際上是現實很簡單的,只須要在你的服務端響應頭上加入一個header,("Access-Control-Allow-Origin","http://domain")就能夠解決,目前大多數瀏覽器,包括移動端的都支持該標準。前端