nas*_*971 1 php ajax jquery json
我是Jquery Ajax的新手,对不起,如果那是一件简单的事情.
所以我的问题是我想从我的php文件中检索一个json对象,但只有当我只回显一个这样的Json对象时它才有效:
<?php
header('Content-type: application/json; charset=utf-8');
$arr = array ('Lastname'=>'Doe','Firstname'=>'John','Age'=>109);
echo json_encode($arr);
Run Code Online (Sandbox Code Playgroud)
当我想在我的javascript文件中回显另一个json或者作为json返回的一些文本时,我从ajax调用中得不到任何回复.
<?php
// This code doesn't work
header('Content-type: application/json; charset=utf-8');
$arr = array ('Lastname'=>'Doe','Firstname'=>'John','Age'=>109);
echo 'hi there';
$json = 'Hello people';
echo json_encode($json);
echo json_encode($arr);
Run Code Online (Sandbox Code Playgroud)
我的ajax电话是这样的:
$.ajax({
url: 'test.php',
type: 'GET',
success: function (response) {
console.log(response);
}
});
Run Code Online (Sandbox Code Playgroud)
所以我的最后一个问题是:我的代码有什么问题,以及ajax调用中不允许的内容
您只能在响应中放置一个JSON对象.如果您要发送多个内容,只需创建一个数组:
echo json_encode([
'user' => ['Lastname'=>'Doe', 'Firstname'=>'John', 'Age'=>109],
'other' => 'some other stuff',
'more' => ['even', 'more', 'suff'],
]);
Run Code Online (Sandbox Code Playgroud)
您也不希望在JSON之前或之后有任何无关的输出,因此请删除此:
echo 'hi there';
Run Code Online (Sandbox Code Playgroud)