JS档案:
var jsonsave = [];
var dado = new Object();
dado.name = "bob";
dado.age = "000";
dado.test = "test";
var jason = JSON.stringify(dado);
jsonsave.push(jason);
$.ajax({
type: "POST",
dataType: "JSON",
url: "http://localhost/moodle/my/index.php",
data: "data="+jsonsave+"&file=true",
success: function(data){
console.log('work');
},
error: function(data)
{
console.log(data);
}
});
Arquivo php:
$arquivo = $_POST['data'];
$value= json_decode($arquivo, TRUE);
我从ajax调用了一个php页面,但是我无法获取json的值,它变为null,你有什么想法吗?
答案 0 :(得分:-1)
在您指定的AJAX通话中 dataType:" JSON" 这意味着您的调用期望JSON作为服务器的返回值。
另一方面,在PHP方面,你正在解码POST,它正在将JSON转换为PHP对象(结构),而且你也没有返回任何东西。
解决方案很简单:重新发送JSON结构(尝试使用json_encode,可能还有适当的标头),这应该可以欺骗。