2011-11-24 76 views
0

注意到有很多人遇到此问题!没有任何人似乎帮助我的问题,但!JSON Feed未填充自动完成源

我的JSON饲料http://menu.the-dot.co.uk/getingredients.php?func=json

我有一个小提琴设置在http://jsfiddle.net/OwenMelbz/xgQnQ/用代码来测试

$(function() { 
$("#food").autocomplete({ 
    source: "http://menu.the-dot.co.uk/getingredients.php?func=json", 
    minLength: 2, 
    dataType: "json", 
    select: function(event, ui) { 
     log(ui.item ? "Selected: " + ui.item.value + " aka " + ui.item.id : "Nothing selected, input was " + this.value); 
    } 
}); 
}); 

这是字面上复制并演示页粘贴jqueryui.com除了数据类型添加和源添加,以及选择器更改!

基本上,您使用此提要键入框。什么都没有出现。你使用source:myArray工作,在任何人看到我的问题与我提供的代码和演示?

谢谢

+0

不应该JSON输出是一个数组,而不是一个对象? – jli

+0

你见过这个: http://stackoverflow.com/questions/7365515/how-to-i-get-the-right-json-datatype-for-the-autocomplete-function – lhagemann

+0

这是我第一次接触json ,所以不知道有什么区别,jquryui远程网站的文档是不存在的。 – Owen

回答

0

从哪里发送请求。它是同

http://menu.the-dot.co.uk/

如果它不一样的,你将有cross domain request问题。请使用Chrome开发者工具或萤火虫检查回应。看看是否有错误发生。

+0

Yep:'XMLHttpRequest无法加载* trimmed *。起源http://fiddle.jshell.net是不允许的Access-Control-Allow-Origin.'(对于小提琴发布) – jli

+0

它在同一个域上,我只是用小提琴来显示我的代码 – Owen

0

您的JSON格式错误。否则它工作正常,jsFiddle

+0

我跑过它一个验证器,它说它没问题。据我所知,更新的小提琴不是一个标准的JavaScript数组而不是一个json对象? – Owen

+0

是的,你需要一个数组。你已经做出了一个“对象”,在最慷慨的解释下,一次又一次地重命名相同的属性(成分)。 – Sinetheta

0

好吧,我决定,我认为这个问题没有任何代码,但是如何提供JSON的PHP脚本并没有采取自动完成的预期方式。

所以不是我已经建立了我的数据库的一个JavaScript数组版本,这是现在http://menu.the-dot.co.uk/getingredients.php?func=js

,并包含在页面的页眉这个脚本,所以它加载数据库内容转换成JavaScript数组,然后我使用自动完成读取数组。服务器的请求也减少了。可爱可爱。

http://menu.the-dot.co.uk/body.html?page=find

正常使用:)其一个IOS web应用所以借口讨厌浏览器视图:)