1. 程式人生 > >360瀏覽器 7.1版本相容模式,jQuery $.post 和$.ajax 跨域訪問失效

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('驗證失敗');
                }
            }
            );
            
        }

<input type="text" value="18543135810" id="shouji" /> 手機
        <input type="button" value="123" id="456" onclick="fasongduanxin();" /> 傳送簡訊

解決方案:

使用 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');
            
        }