(该方式存在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的拦截以前。
最后。你可使用原来的请求方式进行请求。 是否是很简单呢?