360浏览器 7.1版本兼容模式,jQuery $.post 和$.ajax 跨域访问失效

这几天在做一个跨域访问的时候

360浏览器、ie、谷歌、火狐,其中360 7.1版本没有发送ajax请求,其他都好用,

弄了很久,终于找到了原因,360 7.1版本不允许ajax跨域访问:

后台代码如下:


后台代码使用的是spring mvc,

@RequestMapping("/send1")
    @ResponseBody
    public String send1(
            HttpServletRequest request,HttpServletResponse resp){
        resp.addHeader("Access-Control-Allow-Origin", "*");  //用来解决跨域的
        String iPhone = request.getParameter("mobile");
//        phoneService.sendMobileVerificationCode(iPhone);
        System.out.println("2222222222222222222");
        return "1";
    }

前台代码:

function fasongduanxin(){
            var url = "http://127.0.0.1:8080/phoneModel/cellPhoneNumberVerification/send1.do";
            var data={mobile:$("#shouji").val()};
            $.post(url,data,function(rs){
             
                if(rs==1){
                    alert('验证成功');
                }else{
                    alert('验证失败');
                }
            }
            );
            
        }

手机
         发送短信

解决方案:

使用 ajax 的script方法

后台代码:

@RequestMapping("/send")
    @ResponseBody
    public String send(
            HttpServletRequest request,HttpServletResponse resp){
        resp.addHeader("Access-Control-Allow-Origin", "*");
        String iPhone = request.getParameter("mobile");
        return "var _$result='1';";
    }

前台代码:

function fasongduanxin(){
            var url = "http://127.0.0.1:8080/phoneModel/cellPhoneNumberVerification/send.do";
            var data={mobile:$("#shouji").val()};
            $.post(url,data,function(rs){

                rs=_$result;
                if(rs==1){
                    alert('验证成功');
                }else{
                    alert('验证失败');
                }
            },
            'script');
            
        }


你可能感兴趣的:(跨域)