2016-11-18 66 views
0

我有一個窗體,我用serializeArray()序列化。我可以得到的數據傳遞與.load()函數PHP,像這樣:傳遞序列化數據和變量與jQuery .load()

$('#searchResults').load('search.php', formData); 

我也有一個附加的價值,而不是表單數據的一部分,我想通過。我可以分開工作,像這樣:

$('#searchResults').load('search.php', {'dbVersion': myVersion}); 

但是,我無法讓他們同時通過和工作。

我試過$ .post()傳遞變量與回調中的.load()發佈表單數據...沒有工作。我已經嘗試了許多方法來分離數據,沿着線:

$('#searchResults').load('search.php', {'dbVersion': myVersion, formData}); 

我怎樣才能獲得的功能同時通過單變量和序列化的陣列?

我在另一篇文章中看到了這一點,但還沒有嘗試過。我會在這裏很快嘗試:

var data = $('#myForm').serializeArray(); 
data.push({name: 'wordlist', value: wordlist}); 

$.post("page.php", data); 
+0

*「我看到這在另一個職位,但還沒有嘗試過,我會試着在這裏秒。」 *爲什麼張貼... –

回答

0

附加字段添加到formData

formData.dbVersion = myVersion; 
$('#searchResults').load('search.php', formData); 

你也可以使用$.extend,而無需修改對象合併。

$('#searchResults').load('search.php', $.extend({dbVersion: myVersion}, formData); 
+0

感謝您的幫助之前不要嘗試。 ..雖然沒有工作。我確實找到了解決辦法,並將其作爲答案發布。再次感謝! – ckbrumb

0

本週末我找到了答案。這裏是什麼工作:

$(document).on('click', '#search', function() { 
var dropdownValue = $("#select").val(); 

var data = { dropdownValue : dropdownValue, version : myVersion} 

$('#searchResults').load('search.php', data); 

}); 
+0

'$(「#myForm」)。serializeArray()'?您只發送一個表單字段,而不是表單的所有字段。 – Barmar

+0

所有以序列化數據結尾的數據都是dropdownValue,所以我不需要序列化並將其刪除 – ckbrumb