2015-06-13 49 views
2

這裏是我的代碼如何在成功完成ajax請求後將請求重定向到另一個控制器?

$("#ajaxform").submit(function(e){ 
      var info = $(this).serialize(); 
      $.ajax(
      { 
       url : "ctrl1", 
       type: "post", 
       data : info, 
       success:function(data, textStatus, jqXHR) 
       { 
        $('.valid-error').html(data); 
        if(data == "success"){ 
          $.get("ctrl2", info); // this get request do not come to the servlet 
        } 
       } 
      }); 
      e.preventDefault() 
     }); 
$(".submit").click(function(){ 
     $("#ajaxform").submit(); 
}); 

如何請求重定向到成功的AJAX請求和數據==「成功」後,另一個控制器?我在我的servlet的doGet()中有斷點,它沒有被調用。這裏的代碼不起作用,我測試了它。如何使這個獲取請求有效?

回答

2
$("#ajaxform").submit(function(e){ 
      var info = $(this).serialize(); 
      $.ajax(
      { 
       url : "ctrl1", 
       type: "GET", 
       async: false, 
       data : info, 
       success:function(data, textStatus, jqXHR) 
       { 
        $('.valid-error').html(data); 
        if(data == "success"){ 

          window.location.href = "/Controllername/Viewname"; 
        } 
       } 
      }); 
      e.preventDefault() 
     }); 
$(".submit").click(function(){ 
     $("#ajaxform").submit(); 
}); 

這裏可以指定你的控制器名稱和視圖名稱

+0

它不會讓一個GET請求和我的servlet get方法將不會被調用。我嘗試過這個。 – oronaparcali

+0

@oronaparcali任何默認的請求都是對控制器的方法的GET請求,爲什麼認爲它沒有得到調用? – Devesh

+0

,因爲我在servlet doGet()方法中有斷點,並且它不在那裏。 – oronaparcali