2011-09-17 53 views
2

我想簡單地使用jQuery的ajax方法和方法只調用錯誤回調。簡單問題jQuery ajax方法

$('form').submit(function() { 
    $.ajax({ 
     url: this.action, 
     data: $(this).serialize(), 
     type: 'POST', 
     dataType: 'html', 
     success: function() { 
      debugger 
      alert('alert'); 
     }, 
     error: function(xhr, status, error) { 
      //status value is "error". 
     } 
    }); 
}); 

我正在請求ASP.NET MVC操作方法。方法按預期獲取請求並返回部分視圖,沒有任何問題。然後jquery調用錯誤回調而不指定詳細的錯誤信息。我想知道一些有關錯誤的細節,然後我可以決定可能導致錯誤的原因。

編輯:我測試了下面的代碼,它的工作原理沒有問題。我剛剛取消了表單提交事件。

$('form').submit(function(e) { 
    e.preventDefault(); 
    $.ajax({ 
     url: this.action, 
     data: $(this).serialize(), 
     type: 'POST', 
     dataType: 'html', 
     success: function() { 
      debugger 
      alert('alert'); 
     }, 
     error: function(xhr, status, error) { 
      //status value is "error". 
     } 
    }); 
}); 

還在回答正在等待正確答案誰能告訴我這個錯誤的原因。

+0

我檢查了this.action並返回窗體的絕對URL。 – AnyOne

+0

您說「按預期方法獲取請求」;你的意思是控制器期待GET請求?因爲你正在POST請求。此外,您會希望'返回false;'在AJAX調用之後提交表單。另外,Firebug會在控制檯中給你任何錯誤嗎? – Alex

+0

@Alex - 不,我的意思是剛剛獲得請求的方法。控制器方法沒有問題。和鉻調試控制檯不會拋出任何錯誤。但爲什麼我得到錯誤,如果我不打電話e.preventDefault() – AnyOne

回答

1

難道是參考文獻this.action是undefined?看看你最喜歡的dom檢查員的網絡選項卡或只是螢火蟲的錯誤控制檯。 POST請求是否與預期一致? (檢查URL,數據發送,錯誤代碼等)

$ (this).attr('action')肯定會工作,假設this指向窗體。