我正在尝试使用 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"},}
但是,当我执行 alert(item.text) 时,变量显示未定义。
如果我执行 alert(item) 我会看到 PHP 输出的整个字符串。
我尝试使用 eval() 但我不确定将它放在哪里或如何让 JS 实际解释数据。谢谢你的帮助。感谢特定于我的实现的示例代码。