(該方式存在session會在每次請求都建立的狀況。由於最近在休假,故解決方案稍後在方步) java
如下提供Ext、SenchaTouch解決方案: web
在Ajax請求中添加 json
withCredentials : true, useDefaultXhrHeader : false,
上述兩個配置便可以完成session爲空的bug。其餘框架如Jquery應該大同小異。 跨域
請求資源跨域是目前廣泛存在的問題,實現的方式也有不少:如JSONP 或CORS.... session
在WebApp日益風靡的時代,跨域已經不可避免。 app
之前在作跨域的時候採用JSONP的方式,可是該實現有弊端,如只提供get方式請求,get請求會致使什麼問題 詳情百度。 cors
之前使用struts2的時候 ,對jsonp的請求仍是比較方便的。只須要配置一個param就能夠了。 框架
可是學習了JFinal以後,已經深深的愛上它了。可是嘗試跨域的時候 ,採用jsonp的方式總感受彆扭。 學習
因而我找到了 CORS(請不要百度。百度出來的結果都是關於gps的) jsonp
下面是具體的與jfinal整合實現。
1.第一步:下載兩個jar包。分別是:cors-filter-1.7.1.jar和java-property-utils-1.9.jar
2.第二步:修改項目的web.xml文件,增長如下代碼。
<filter> <filter-name>CORS</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> <init-param> <param-name>cors.allowOrigin</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>cors.supportedMethods</param-name> <param-value>GET, POST, HEAD, PUT, DELETE</param-value> </init-param> <init-param> <param-name>cors.supportedHeaders</param-name> <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param-value> </init-param> <init-param> <param-name>cors.supportsCredentials</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CORS</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
注意:cors的攔截須要在jfinal的攔截以前。
最後。你可使用原來的請求方式進行請求。 是否是很簡單呢?