Javascript 在PHP中以空格式发布来自ajax请求的数据
以下是我的javascript代码:Javascript 在PHP中以空格式发布来自ajax请求的数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,以下是我的javascript代码: var json = JSON.stringify(data); $.ajax({ data: {data : json }, type: 'POST', url : 'test.php', success: function( data, textStatus, jqXHR) {
var json = JSON.stringify(data);
$.ajax({
data: {data : json },
type: 'POST',
url : 'test.php',
success: function( data, textStatus, jqXHR) {
alert(data);
alert(textStatus);
alert(jqXHR);
},
error: function(jqXHR, textStatus, errorThrown) {
alert(jqXHR);
alert(textStatus);
alert(errorThrown);
}
});
下面是我的test.php:
var_dump($_POST);
success
函数正确返回数据
array(1) {
["data"]=>
string(51) "["image_0","image_1","image_2","image_3","image_4"]"
}
但是在我的test.phpvar_dump()
中返回一个空数组
array(0) { }
我做错了什么?你为什么不能像我一样简化
$.ajax({
data: JSON.stringify(data)
...
});
没关系,我理解我的错误。对不起,我是javascript的新手 在my test.php中:
if(isset($_POST["data"])) {
$_SESSION["test"] = $_POST["data"];
}
echo $_SESSION["test"];
var\u dump($\u POST)代码>???不要转储字符串,甚至不应该返回空数组。这没有意义——js success函数正在显示php脚本返回的数据。你说这是可行的,但php不是??这是不可能的。如果您直接点击test.php而不向其中发布任何数据,$\u POST将为空。因此,如果转到test.php,就会得到一个空数组。但是当您通过javascript代码发布到它时,您正在向它发布数据,因此$\u post不是空的。那么您的错误是什么呢?如果你发布了一个答案,回答这个问题,即使它是你自己的问题(可能对未来的读者有用…)