2010-05-18 42 views
-2

如何在form.submit()之後返回json?


​​
+0

-1。請嘗試爲您的問題添加更多詳細信息。如果您希望人們花費超過10秒鐘的時間回答問題,那麼您應該至少花幾分鐘時間詳細解釋您的問題。 – 2010-05-18 11:14:42

+0

我刪除了我的答案。您的實際問題是:如何獲取JavaScript對象中的表單數據,以便將其作爲$ .ajax調用的數據參數發送。 – 2010-05-18 11:32:41

回答

2

我想你實際上要找的是不是Submit方法,但是如何將表單數據序列化到JSON對象。要做到這一點,你必須使用像這樣的幫助方法:Serialize form to JSON

使用此代替運行submit()方法,你會沒事的。 而且,這個問題就是一個重複的(即使問題文本,標題是完全誤導):Serialize form to JSON with jQuery

發佈jQuery的擴展,爲了以防萬一,所以它不會迷路:)

$.fn.serializeObject = function() 
{ 
    var o = {}; 
    var a = this.serializeArray(); 
    $.each(a, function() { 
     if (o[this.name]) { 
      if (!o[this.name].push) { 
       o[this.name] = [o[this.name]]; 
      } 
      o[this.name].push(this.value || ''); 
     } else { 
      o[this.name] = this.value || ''; 
     } 
    }); 
    return o; 
}; 

你在你的網頁在此之後,你可以用這個更新的Ajax調用:

$.ajax({ 
     url: '<%=Url.Action("Edit","Notification") %>', 
     type: "POST", 
     dataType: 'json', 
     data: $("#NotificationForm").serializeObject(), 
     contentType: "application/json; charset=utf-8", 
     success: function(result) { 
      if (result.Result == true) { 
       alert("ghjghsgd"); 
      } 
     }, 
     error: function(request, status, error) { 
      $("#NotSelectedList").html("Error: " & request.responseText); 
     } 

    }); 

UPD:如果你想發佈的形式,那麼得到的迴應是一個js在對象上,並做另一個Ajax調用..那麼你應該看看jquery.form plugin。您將能夠使用ajax調用發佈表單,然後獲取響應,並在返回時運行一些js。

+0

是否可以在數據之後返回json:(「#NotificationForm」)。submit(); 我的目標是在提交之後提交表單並檢索json。我使用的部分(「#NotificationForm」)。submit();工作正常,但它然後陷入錯誤......爲什麼? – learning 2010-05-18 12:19:19

+0

要完全誠實 - 看看你想在這裏實現什麼,你只是做錯了..我認爲你應該重新考慮你的過程=/ 我更新了一些信息,無論如何會幫助你的信息: ) – 2010-05-18 12:48:05

相關問題