我试图通过一个2D数组从JavaScript到PHP使用 AJAX . 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页面?
2条答案
按热度按时间gopyfrb31#
我知道这是一个老帖子,但它仍然没有答案(S)。
contentType
设置为application/json
,这不是发送表单数据的正确内容类型。如果要发送表单数据,应使用默认内容类型application/x-www-form-urlencoded
gwbalxhn2#
echo "Data is set";
返回文本 AJAX 请求。您可以在控制台中看到它当你通过
window.location
重定向到database.php时,$_POST
是空的,不显示任何东西,因为window.location
只设置URL而不发送参数。尝试使用表单提交来发送php文件中的数据。