我試圖用serializeArray創建一個數組並將其發佈到php。但我的代碼不起作用。我讀過這個問題(question),但我還沒有明白我的錯誤。如何發送數組到php與jquery ajax?
這是我的Ajax代碼
var str = $("form").serializeArray();
$.ajax({
type: "POST",
url: "myfile.php",
data: str,
success: function (value) {
$("#mydata").html(value);
}
});
HTML代碼
<form>
<select name="num0">
<option value="">num0</option>
<option value="12">12</option>
<option value="13">13</option>
</select>
<select name="num1">
<option value="">num2</option>
<option value="123">123</option>
<option value="133">133</option>
</select>
<select name="num2">
<option value="">num3</option>
<option value="12345">12345</option>
</select>
</form>
PHP代碼
$postarr = array();
$num=$_POST['num0'];
$postarr[]=$num;
$num=$_POST['num1'];
$postarr[]=$num;
$num=$_POST['num2'];
$postarr[]=$num;
它給我以下錯誤信息:
通知:未定義的索引:num0(和其他變量的相同消息)。
順便說一下,英語不是我的母語;請原諒打字錯誤。
我不知道這是否有關與否,但你的'
使用'$(「form」)。serialize()',而不是'$(「form」)。serializeArray();'參見http://stackoverflow.com/a/10430571/689579 – Sean
您是否嘗試調試'print_r($ _ REQUEST);'? –