我有 3 個選擇選單。我需要通過 ajax 將值作為我嘗試使用的陣列發送serialize()。問題是它只發送 1 個值而不是全部 3 個。有什么想法嗎?
var menu = $('select[name^="menu"]').serialize();
console.log(menu);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<select name="menu[]">
<option value="test">test</option>
</select>
<select name="menu[]">
<option value="test1">test1</option>
</select>
<select name="menu[]">
<option value="test2">test2</option>
</select>
var menu = $('select[name^="menu"]').serialize();
$.ajax({
type:"POST",
url:"www.example.com/submit.php",
dataType: 'html',
data: 'menudata=' menu '&name=bob',
success: function(data) {
alert(data);
},error: function() {
alert('error occurred')
}
})
uj5u.com熱心網友回復:
問題在于您如何在 AJAX 請求中將查詢字串發送到服務器,而不是如何serialize()格式化輸出。
要解決此問題,menudata=請從您手動創建的查詢字串中洗掉屬性名稱:
data: menu '&name=bob',
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/478135.html
