2011-10-07 60 views
0

我在我的ASP.NET MVC 3應用程序的形式,將使用jQuery它的數據發送到控制器動作,而不是做一個正常的回傳:jQuery的AJAX形式,如何將數據

$('.AjaxForm').live("submit", function (event) { 
      event.preventDefault(); 
      $.validator.unobtrusive.parseDynamicContent('.uiModalContent input'); 
      console.log($(this).attr('action')); 
      $.ajax({ 
       type: 'POST', 
       url: $(this).attr('action'), 
       data: data, 
       success: function (responseHtml) { 
        alert(responseHtml); 
       }, 
       error: function (responseHtml) { 
        alert('error'); 
       }, 
       statusCode: 
       { 
        404: function (responseHtml) { 
         alert('404'); 
        }, 
        500: function (responseHtml) { 
         alert('500'); 
        } 
       } 
      }); 
     }); 

不過我得到一個錯誤,說數據是未定義的...如何從表單中獲取數據併發送它? 另外在ASP.NET MVC 3中的內置驗證與我的代碼一起工作還是會出現問題?謝謝

回答

1

你應該使用form.serialize()來創建數據值。您的代碼應更改爲:

url: $(this).attr('action'), 
data: $('.AjaxForm').serialize(),