我想创建一个实时数据库搜索并通过json获取数据,但每次它给我(未定义)这是代码:
<?php
if (isset($_POST['data'])) {
$json = array('id' => '2', 'name' => 'john');
echo json_encode($json);
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('input').keyup(function(){
var value= $('input').val();
$.ajax({
type: "POST",
url: "project.php",
data: {data: value},
datatype: "json",
success: function(json_data){
console.log(json_data.id);
console.log(json_data.name);
}
});
});
});
</script>
<input type="text" name="search" placeholder="looking for?">
<div id="feedback"></div>
我真的不知道为什么会这样,我希望得到一些反馈。
发布于 2018-09-03 15:50:00
显示的代码始终呈现表单和所有页面,如果要返回JSON内容,则应停止呈现页面:
尝试这样的事情:
<?php
if (isset($_POST['data'])) {
$json = array('id' => '2', 'name' => 'john');
header('Content-Type: application/json; charset=utf-8');
echo json_encode($json);
die();
}
?>
我的建议是使用不同的文件来显示视图和处理请求。
发布于 2018-09-03 16:27:57
$(document).ready(function(){
$('input').keyup(function(){
var value= $('input').val();
$.ajax({
type: "POST",
url: "project.php",
data: {data: value},
datatype: "json",
success: function(json_data){
console.log(json_data['id']);
console.log(json_data['name']);
}
});
});
});
在PHP中:
$json = array('id' => '2', 'name' => 'john');
header('Content-Type: application/json; charset=utf-8');
echo json_encode($json);
die();
https://stackoverflow.com/questions/-100002542
复制相似问题