Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax的成功需要一些php JSON对象的东西_Javascript_Php_Jquery_Json_Ajax - Fatal编程技术网

Javascript Ajax的成功需要一些php JSON对象的东西

Javascript Ajax的成功需要一些php JSON对象的东西,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我正在尝试使用ajax和php json创建一个像facebook这样的用户搜索系统。但我有一个问题 从数据用户表中有马克·扎克伯格,马克·泽恩,马克·阿尔普。我的意思是3用户的名字是相同的,所以通常当我写Marc名称时,我应该从数据中获取所有Marc名称。像 <div class="ul">Marc Zuckerbert</div> <div class="ul">Marc Zeyn</div> <div class="ul">Mar

我正在尝试使用ajax和php json创建一个像facebook这样的用户搜索系统。但我有一个问题

从数据用户表中有
马克·扎克伯格
马克·泽恩
马克·阿尔普
。我的意思是
3
用户的名字是相同的,所以通常当我写Marc名称时,我应该从数据中获取所有Marc名称。像

<div class="ul">Marc Zuckerbert</div>
<div class="ul">Marc Zeyn</div>
<div class="ul">Marc Alp</div>
search.php


您的PHP脚本正在生成格式错误的JSON

{"username":"marc1","fullname":"Marc Zuckerberg"}
{"username":"marc3","fullname":"Marc Zeyn"} 
{"username":"marc2","fullname":"Marc Alp"} 
它应该产生

[
    {"username":"marc1","fullname":"Marc Zuckerberg"},
    {"username":"marc3","fullname":"Marc Zeyn"},
    {"username":"marc2","fullname":"Marc Alp"},
]
您可以通过附加到数组而不是独立地写入每一行来修复它

foreach($keyRestuls as $datas)
{ 
    $dataUsername = $datas['username'];
    $dataUserID = $datas['fullname'];
    $data[] = array(
      'username' => $dataUsername,
      'fullname' => $dataUserID
    );    
}
echo json_encode( $data ); 
然后你必须在JS中循环
$data
,我建议你使用


您的SQL请求中大括号
{$keys}
的作用是什么?@gogaz您是否获得了正确的数据,但它没有显示?或者你根本就没有得到数据?@kerbholz如果我写下全名,我就会得到结果。例如,如果我写kerb,那么我不会得到任何结果,但是如果我写kerbholz,那么我会得到结果。你能打印查询并显示不同输入的查询吗?所以我只需要
$中的这个。每个
如下:
$(“.un”).html(value.username)对吗?如果是,为什么我从开发者控制台得到这个错误<代码>未捕获类型错误:无法读取null的属性“fullname”
请勿使用
.html()
,因为它将替换以前插入的数据。查看编辑并亲自尝试,我使用提供的数据运行它时没有错误。使用Chrome开发工具,控制台是一个JS解释器,您可以在网络选项卡your
echo json_encode($data)中看到ajax响应显示所有用户表行,但我只需要用户名和全名。尝试重命名为
$data\u json
,可能是您的
搜索用户的
$data
的干扰
{"username":"marc1","fullname":"Marc Zuckerberg"}
{"username":"marc3","fullname":"Marc Zeyn"} 
{"username":"marc2","fullname":"Marc Alp"} 
[
    {"username":"marc1","fullname":"Marc Zuckerberg"},
    {"username":"marc3","fullname":"Marc Zeyn"},
    {"username":"marc2","fullname":"Marc Alp"},
]
foreach($keyRestuls as $datas)
{ 
    $dataUsername = $datas['username'];
    $dataUserID = $datas['fullname'];
    $data[] = array(
      'username' => $dataUsername,
      'fullname' => $dataUserID
    );    
}
echo json_encode( $data ); 
function success(data) {
    $.each(data, function(key, value) {
        console.log(value.username + ": " + value.fullname);
    })
}