私は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:ラインvar arr = kegs;
として
$(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 = [];
}
});
});
});
、アレイ '樽' の値は、入力フィールドを介して設定され、他のAJAXが、すべてそれが動作しています良い。私の問題は私のPHPコードにあると思います。
ループが反復する同じ変数を変更しようとしているようです。実行時の '$ data'の実際の値は何ですか? – David
@David私がテストしたユーザ入力に基づいて、$ data = ["1"、 "2"、 "3"]と受け取ったアラートは同じ値["1"、 "2" 3 "]。 – jh95
AJAXの応答後にアラートの値が表示される場合は、実際の問題は何ですか? – David