【发布时间】:2018-07-07 23:05:33
【问题描述】:
我正在尝试使用 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 页面?
【问题讨论】:
-
需要指定database.php文件的完整请求url。
-
您为什么使用
AJAX发布数据然后将客户端重定向到该页面?此外,将客户端重定向到php页面也不会显示数组数据,因为客户端在重定向时不会发布数组。 -
window.location = "database.php"使浏览器对该 URL 发出 GET 请求,因此当然没有 POST 数据 ... -
@kapilyadav 还是不行。
-
如果您重定向并且从不显示返回的内容,您希望看到什么内容?
标签: javascript php arrays ajax