Javascript Ajax的成功需要一些php JSON对象的东西
我正在尝试使用ajax和php json创建一个像facebook这样的用户搜索系统。但我有一个问题 从数据用户表中有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
马克·扎克伯格
,马克·泽恩
,马克·阿尔普
。我的意思是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解释器,您可以在网络选项卡yourecho 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);
})
}