我試圖通過Ajax將數組傳遞給PHP,但數組正在作爲空字符串傳遞。這是我的代碼創建數組的時候:關聯數組作爲空字符串傳遞
var params = new Array();
var inputs = new Array();
inputs = $(":input");
$.each(inputs, function(key, value) {
params[value.id] = value.value;
});
alert(params);
在此之前,大約有20個輸入看起來像這樣:
<input name="first_name" id="first_name" type="text" class="medium"/>
<input name="last_name" id="last_name" type="text" class="medium"/>
的alert(params)
只是給我一個空字符串。但是,alert(params['first_name'])
實際上給了我first_name
輸入值。
爲什麼陣列沒有通過?
所以它的到來,通過在PHP也是一個空字符串?你在AJAX調用之前序列化爲JSON嗎?我們真的需要看看AJAX調用和PHP來確定發生了什麼 – WickyNilliams
因爲'Array'只有數字索引。如果你想要一個「關聯數組」,使用對象。 *注意:*如果您想用JSON序列化它,這也適用。 –
不是確切的答案,但如果你想通過ajax發送一個表單看看jQuery .serialize()http://api.jquery.com/serialize/ – afgomez