標籤:
問題描述
通過ajax訪問Web伺服器(Tomcat7.0.42)中的json web service介面的時候,報以下跨域問題:
XMLHttpRequest cannot load http://localhost:8080/get-employees-by-name/name/admin. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘http://localhost:63342‘ is therefore not allowed access.
解決辦法
1、下載cors-filter-<version>.jar和java-property-utils-<version>.jar兩個jar檔案,並將其放在web伺服器的classpath路徑下,例如tomcat的lib。
cors-filter-2.4.jar java-property-utils-1.9.1.jar
2、在web.xml中添加CorsFilter過濾器
<filter> <filter-name>CorsFilter</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class></filter><filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping><filter>
3、重啟Web伺服器即可。
參考資料
1、http://stackoverflow.com/questions/17267023/tomcat-7-cors-filter
2、http://software.dzhuvinov.com/cors-filter-installation.html
通過ajax訪問Tomcat伺服器web service介面時出現No 'Access-Control-Allow-Origin' header問題的解決辦法