今天寫Java Jersey Rest Web Service時遇到點問題,透過ajax呼叫Web Service時會不斷出現Access-Control-Allow-Origin的訊息,嘗試過在回應的response上加上一些相關的header,不過只有GET的方式可以成功,透過POST傳資料到Rest Web Service時仍會跳出該訊息,之後看到一篇文章,透過Java Filter就解決該問題,主要是使用CORS Filter來達成,步驟如下:
1. 下載CORS-filter.jar與java-property-util.jar,參考連結
2. 加入以下filter設定到Java web.xml
<filter> <filter-name>CORS</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> </filter> <filter-mapping> <filter-name>CORS</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3. 重新啟動tomcat後重新嘗試即可。
參考連結:Access-Control-Allow-Origin in ajax call to jersey rest web services
thanks a loooooooot!!!
回覆刪除