Я пытаюсь реализовать живой поиск на моем сайте фотографий, используя jQuery и плагин автозаполнения. Все работает, когда я указываю данные локально:
var data = [ {text:'Link A', url:'/page1'}, {text:'Link B', url: '/page2'} ];
Однако, когда я перемещаю это в PHP, jQuery не может правильно проанализировать результаты. Я действительно не уверен, что здесь происходит. Мой текущий код ниже:
<script>
$(document).ready(function(){
var data = '/livesearch';
$("#aut_field").autocomplete(data, {
formatItem: function(item) {
return item.text;
}
}).result(function(event, item) {
location.href = item.url;
});
});
</script>
А мой PHP-скрипт печатает многомерный массив в следующем формате:
{"1":{"text":"Google Website","url":"http:\/\/www.google.com"},
"2":{"text":"Yahoo Website","url":"http:\/\/yahoo.com"},}
Однако, когда я делаю оповещение (item.text), переменная говорит неопределенное.
Если я выдаю предупреждение (элемент), я вижу всю строку, выведенную PHP.
Я пытался поиграть с eval (), но я не уверен, куда его поместить или как заставить JS реально интерпретировать данные. Спасибо за вашу помощь. Пример кода, специфичного для моей реализации, приветствуется.