我有一個從我的AJAX代碼調用的foreach循環。看起來,foreach循環正在被跳過。我最終希望做到這一點,以便foreach循環將使用數組中的每個值執行查詢,但我首先嚐試測試foreach循環的工作方式(它沒有)。我收到的警報(來自我的AJAX)只是原始數組,而不是添加項目的數組。如何使用帶有AJAX調用的foreach循環?
PHP:
$data = array();
if(isset($_POST['myArray']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']){
$data = $_POST['myArray'];
foreach ($data as $item) {
$data[] = $item;
}
echo json_encode($data);
die();
}
AJAX:
$(document).ready(function(){
$('#btn-addkegs').click(function() {
var arr = kegs;
var myArray = JSON.stringify(arr);
$.ajax({
url: "addkegs.php",
method: "POST",
dataType: "json",
data: {myArray: myArray},
success: function (result) {
alert("Your kegs have been added! These include: " + result);
textarea.value = "";
kegs = [];
}
});
});
});
至於線var arr = kegs;
,陣列 '小桶' 的值通過輸入字段和其它AJAX設置,但所有的工作精細。我認爲我的問題在於我的PHP代碼。
你的循環似乎試圖修改它迭代的同一個變量。運行時'$ data'的實際值是多少? – David
@David基於我測試的用戶輸入,$ data = [「1」,「2」,「3」]和我接收的警報的值返回相同的值[「1」,「2」,「 3「]。 – jh95
如果您在AJAX響應後看到警報中的值,那麼實際的問題是什麼? – David