2015-06-16 188 views
1

我最近遇到了一個問題,我已經解決了一些問題。我正嘗試使用JQuery向具有AJAX請求的控制器發起調用。該請求(我將在後面發佈)在Google Chrome中運行良好,但在IE中不支持Firefox。.net MVC中的AJAX請求在Chrome中運行,不是Firefox或IE

在Firefox中,請求會立即失敗。

在Internet Explorer中,請求將完成,但是在AJAX請求完成後,表單將POST回發給控制器。

這裏是我的AJAX請求的代碼和它相關的形式:

jQuery的

$(document).ready(function() { 
    $('form[id="usersLoggedForm"]').unbind('submit').bind('submit', function(e) { 

     var serviceURL = '/SystemChecker/GetUsersLogged?buster=' + new Date().getTime(); 

     $.ajax({ 
      type: "POST", 
      url: serviceURL, 
      data: JSON.stringify({ 
       LoginInterval: $('#LoginInterval').val(), 
       LoginPeriodicity: $('#LoginPeriodicity').val() 
      }), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: successFunc, 
      error: errorFunc 
     }); 


     function successFunc(data, status) { 
      $("#usersLogged").text(data); 
     } 

     function errorFunc() { 
      alert('error'); 
     } 

    }); 
}); 

的Html

<form id="usersLoggedForm"> 
    <fieldset> 
     <legend>SystemResponse</legend> 
     <select id="LoginInterval" name="LoginInterval"> 
      <option value="1">1</option> 
      <option value="5">5</option> 
      <option value="15">15</option> 
     </select> 
     <select id="LoginPeriodicity" name="LoginPeriodicity"> 
      <option value="n">Minutes</option> 
      <option value="hh">Hours</option> 
      <option value="yy">Years</option> 
     </select> 
    </fieldset> 
    <input id="usersLoggedSubmit" type="submit" value="Submit" /> 
</form> 

任何幫助,因爲我總jQuery和不勝感激AJAX noob。

謝謝!

回答

0

您需要return false以防止默認提交操作。

$('form[id="usersLoggedForm"]').submit(function (e) { 
    // ... snip ... 

    return false; 
}); 
+0

這似乎沒有效果,我也嘗試了'e.preventDefault()'方法,並且這似乎完全停止我的代碼,無論瀏覽器選擇。 – Weava

+0

好吧,哈哈,我在錯誤的地方!謝謝你Knelis!爲什麼會出現這種情況,或者爲什麼我必須返回錯誤?錯誤只是一個標誌,告訴IE瀏覽器不要繼續另一個請求? – Weava

+0

你不應該重新綁定'submit'。你可以試試嗎? – Knelis

相關問題