如何在form.submit()之後返回json?
如何在form.submit()之後返回json?
我想你實際上要找的是不是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。
是否可以在數據之後返回json:(「#NotificationForm」)。submit(); 我的目標是在提交之後提交表單並檢索json。我使用的部分(「#NotificationForm」)。submit();工作正常,但它然後陷入錯誤......爲什麼? – learning 2010-05-18 12:19:19
要完全誠實 - 看看你想在這裏實現什麼,你只是做錯了..我認爲你應該重新考慮你的過程=/ 我更新了一些信息,無論如何會幫助你的信息: ) – 2010-05-18 12:48:05
-1。請嘗試爲您的問題添加更多詳細信息。如果您希望人們花費超過10秒鐘的時間回答問題,那麼您應該至少花幾分鐘時間詳細解釋您的問題。 – 2010-05-18 11:14:42
我刪除了我的答案。您的實際問題是:如何獲取JavaScript對象中的表單數據,以便將其作爲$ .ajax調用的數據參數發送。 – 2010-05-18 11:32:41