似乎无法弄清楚出了什么问题,查询是拉动结果而不是json。你知道我哪里出错吗?
runningRequest=true;
request = $.getJSON('/db/contacts.php',{
q:$q.val()
},function(data){
showResults(data,$q.val());
runningRequest=false;
});
function showResults(data, highlight){
var resultHtml = '';
$.each(data, function(i,item){
resultHtml+='<div class="result">';
resultHtml+='<h2><a href="#">'+item.firstname+'</a></h2>';
resultHtml+='<p>'+item.lastname.replace(highlight, '<span class="highlight">'+highlight+'</span>')+'</p>';
resultHtml+='<a href="#" class="readMore">Read more..</a>'
resultHtml+='</div>';
});
$('div#results').html(resultHtml);
}
答案 0 :(得分:0)
请尝试以下操作,而不是$.getJSON()
:
$.ajax({
url: '/db/contacts.php',
dataType: 'json',
data: { 'q':$q.val() }, //$q = ?
success: function(data){
showResults(data, $q.val());
runningRequest=false;
});
});
编辑以解决以下评论:
我猜你正在使用json_encode()
在php中创建JSON,所以也尝试使用JSON_FORCE_OBJECT
- 标志(以防止它变成JSONArray):
<?php echo json_encode($contact_string, JSON_FORCE_OBJECT); ?>
尝试上述操作后会发生什么?