本是同根生,相煎何太急!ajax跨域请求

什么是跨域,简单点来说,你可以在自己家里进进出出,但是到别人家里就不行了。你的征得主人的意见才行。

vampires are invited into the house

spring mvc mybatis

spring MVC mybatis解决Ajax跨域请求,我是忍住不笑了。jsonp,代理,h5…都是弱爆了。

废话不多说,上代码

@CrossOrigin()

没错,就是这么的垃圾。一个注解完成所有的需求。但是它的唯一缺陷就是spring mvc需要4.2.5以上。

<properties>
    <spring.version>4.2.5.RELEASE</spring.version>
    <spring-mybatis.version>1.1.1</spring-mybatis.version>
    <shiro.version>1.2.3</shiro.version>
    <mybatis-spring>1.1.1</mybatis-spring>
    <mybatis-paginator>1.2.7</mybatis-paginator>
</properties>

Access-control-Allow-Origin

后台通过response.setHeader()的方式实现跨域请求,前端$.ajax()的方法设置请求头恕我才疏学浅,还没研究出来。有会的人请联系我。

邮箱:1028784495@qq.com,QQ加我也没事情。

java后端代码

public Map<String,Object> getArticleById(Integer isid , HttpServletResponse response){
    Map<String,Object> resultMap = new HashMap<String, Object>();
    try{
        response.setHeader("Access-Control-Allow-Origin", "*");// 指定允许其他域名访问 * 表示所有
        //response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token"); 响应类型  
        //response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH"); 响应头设置  
    ……

$.ajax前端代码

url:’http://localhost:3333/AppCmsArticleAction/getArticleByPage.do?isid=0‘,

尤其得注意url中的http://别忘记加辣,一开始本菜鸡没加,后台都请求不过去,还以为是跨域请求写错辣,其实是你的url写错辣。

$.ajax({
    url:'http://localhost:3333/AppCmsArticleAction/getArticleByPage.do?isid=0',
    type:'get',
    success:function(){}
    ……
})

由于这是H5,所以不支持IE8,但是这年头大家都开始不care辣。