不拉json

时间:2011-07-31 16:41:38

标签: jquery json

似乎无法弄清楚出了什么问题,查询是拉动结果而不是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);
    }

1 个答案:

答案 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); ?>

尝试上述操作后会发生什么?