Json,AJAX,JQuery和PHP类:奇怪的行为

时间:2013-03-08 17:16:34

标签: php jquery ajax class

这是一个JQuery Ajax请求:

$.ajax({
    url : 'response.php',
    type : 'POST',
    data : 'ISBN=' + $(this).val(),
    dataType : 'json',
    success : function(livre){
        alert('test');
        console.log(livre);
    },
    error: ajaxError
});

这是在response.php中编写的PHP代码

$test = "youp";
$manager = new LivresManager($db);
$livre2 = $manager->getLivreViaISBN($_POST["ISBN"]);
$livre['ItemAttributes']['Author'] = $livre2->auteur();
$livre['ItemAttributes']['test'] = $test;
$livre['ItemAttributes']['Loul'] = "ceci est un test";

echo json_encode($livre);

$livre2->auteur() value is "Guillaume Musso".

生成的json是:

{"ItemAttributes":{"Author":"Guillaume Musso","test":"youp","Loul":"ceci est un test"}}

由JsonLint验证。

这是返回的错误:

XML/Json format is bad.

当我注释掉这两行代码时,它按预期工作(当然,减去有关Author的信息):

$livre2 = $manager->getLivreViaISBN($_POST["ISBN"]);
$livre['ItemAttributes']['Author'] = $livre2->auteur();

有什么想法吗?

如果它可以提供帮助,$livre2以前是一个数组而不是一个对象,即使$livre2['auteur']等于Guillaume Musso并且ajax请求成功,livre.ItemAttributes.Author等于null。

0 个答案:

没有答案