我正在尝试使用Ajax将2D数组从JavaScript传递给PHP。 Ajax表示它是成功的但是在重定向到PHP页面之后,但是在PHP页面中没有设置数据。我尝试过两种方法,但两种方法都无法成功发布数组。
数组看起来像:
num = [["StringA",0], ["StringB",1], ["StringC",2]];
这是我在JavaScript中尝试的第一种方法:
$.ajax({
type: "POST",
url: "database.php",
contentType: 'application/json',
processData: false,
data: { array : JSON.stringify(num) },
success: function()
{
window.location = "database.php";
}
});
我也试过这个:
$.post("database.php", {array: num})
.done(function(data){
window.location = "database.php";
});
在database.php中:
<?php
if (isset($_POST["array"])){
echo "Data is set";
print_r($array);
}
?>
它们都可以成功重定向到database.php,但它们都没有显示在屏幕上。
我不熟悉Ajax。如何在发送数组后立即将数组发布到php页面?
答案 0 :(得分:-1)
echo "Data is set";
将文本返回给ajax请求。
你可以在控制台中看到它
success: function(msg)
{
console.log(msg);
}
当您通过window.location
重定向到database.php $_POST
为空并且不显示任何内容时,因为window.location
只是设置了Url而不是发送参数。
尝试使用表单提交在php文件中发送您的数据。