javascript - ajax後台跳到了其他頁面,還報錯
扔个三星炸死你
扔个三星炸死你 2017-06-20 10:05:46
0
3
839

ajax執行後跳到後台處理,處理完卻跳到了其他頁面。

ajax:

$(".get-code").click(function(){        
    var user_number=$("input[name=user_number]").val();       
       alert(user_number);       
        $.ajax({type : "post",
            url : "user/validate",
            dataType : "json",
            data : {"phone" : user_number},
            success : function(data) {                                
            }
    
        });
       
   });

按鈕

 <button class="get-code">测试</button>

後台

@ResponseBody
@RequestMapping("/validate")
public Object validate(HttpSession session,String phone){
    Integer result1=(int)((Math.random()*9+1)*100000);
    String str=Integer.toString(result1, 10);
    String result=    str;    /*Sampler.samlerInfo(phone, null);*/
    System.out.println("随机数为:"+result);
    session.setAttribute("result", result+"");
    return null;
}

控制有輸出,說明進來了,

最後卻跳到了其他頁面

#控制台也報錯了

#
扔个三星炸死你
扔个三星炸死你

全部回覆(3)
代言

簡單的看了下,你後台的隨機數已經打出來了,表示Controller層執行了。你既然用@ResponseBody了,為什麼不直接返回你的隨機數,result! 其次,根據你的回答,處理完卻跳到了其他頁面。 這個問題,應該不會跳轉的,因為成功請求後端資料拿到,你應該在ajax的success裡,取得你要的數據,也就是result。事實上你的success裡面什麼也沒執行!個人理解^~^

phpcn_u1582

謝謝大家的答案, 由於是svn管理專案,昨天同事不小心刪了同頁面的一個form表單的,導致出現的問題

我想大声告诉你

你為什麼把產生的驗證碼放session裡,直接把資料回傳給那個ajax方法不就行了嗎? ajax裡success方法會接收到回傳資料的。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板