将json从ajax传递给php

时间:2017-01-22 23:53:52

标签: php json ajax

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,你有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

在您指定的AJAX通话中 dataType:" JSON" 这意味着您的调用期望JSON作为服务器的返回值。

另一方面,在PHP方面,你正在解码POST,它正在将JSON转换为PHP对象(结构),而且你也没有返回任何东西。

解决方案很简单:重新发送JSON结构(尝试使用json_encode,可能还有适当的标头),这应该可以欺骗。