2013-07-28 2 views
1

Я пытаюсь в первый раз сделать ответ POST в примере с помощью предложений поиска. Вот что я до сих пор:Возвращение JSON из php POST с использованием jQuery/AJAX

$('#search').keyup(function() { 
    var searchField = $('#search').val(); 
    if (searchField.length > 1) { 

     $.ajax({ 
      url : "search_query.php", 
      type : "POST", 
      dataType: "json", 
      data : { 
       query : searchField 
      }, 
      success : function(data) { 
       var output = '<div>'; 
       $.each(data, function(key, val) { 
        if (val.item.search(searchField) != -1) { 
         output += '<p><a href="#">' + val.item + '</a></p>'; 
        }; 
       }); 
       $('#search_results').html(output);   
      } 
     }) 
    }; 
}); 

Может ли кто-нибудь показать мне, как правильно разобрать ответ JSON?

+0

В этом коде отсутствует символ "in". Есть ли другой код, который использует «in», или это на самом деле ответ от POST? – Paul

+0

@Paul Извините, я написал неправильное сообщение об ошибке. – KickingLettuce

+0

ОК. Можете ли вы нажать «изменить» и опубликовать правильные сообщения об ошибках? – Paul

ответ

4

Вы не указали output как переменную, нижеследующее должно работать.

$('#search').keyup(function() { 
    var searchField = $('#search').val(); 
    if (searchField.length > 1) { 

     $.ajax({ 
      url : "search_query.php", 
        dataType : "json", 
      type : "POST", 
      data : { 
       query : searchField 
      }, 
      success : function(data) { 
       var output = ''; 
       $.each(data, function(key, val) { 
        if (val.item.search(searchField) != -1) { 
         output += '<p><a href="#">' + val.item + '</a></p>'; 
        }; 
       }); 

      } 
     }) 
    }; 
}); 
+0

Эй, это было спасибо! Полностью упускается из виду. – KickingLettuce

Смежные вопросы