这是一个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。