使用http://jobs.sitesixteen.com/作为参考。
我在城市使用YQL,状态自动完成。如果您输入“san”,则response from YQL为null
。我发现奇怪的是,如果你键入“los”,response from YQL会按预期返回结果。
这是一个形式错误的查询,我只是没有看到它,或雅虎的结局?
与往常一样,任何帮助都表示赞赏。
答案 0 :(得分:1)
这是我从雅虎的Eddie Babcock收到的回复!
此请求包含远程过滤器(text =“san *”)和本地过滤器(country.code =“US”)。远程过滤器调用一个Web服务,该服务尝试查找世界上以“san”开头的所有城镇地名,但由于存在这么多,因此会发生超时,并且不会返回任何结果。您需要在文本值中更具选择性(添加更多起始字符)以允许Web服务完成请求。 “洛杉矶*”之所以成功,是因为世界上以“洛杉矶”开头的城镇较少。
这仍然让我相信这是他们实施它的方式的一个问题,但至少这个问题现在已经解决了。
答案 1 :(得分:-1)
您没有提供足够的信息。
请注意,通过使用san
手动填充that particular website上的州字段,它永远不会返回列表。
通过将查询修改为san f
(SAN空间F),它将返回预期结果。
http://query.yahooapis.com/v1/public/yql?callback=jsonp1294734397302&q=select+name,admin1.code+from+geo.places+where+text%3D%22san%20f*%22+and+country.code%3D%22US%22+limit+10+|+sort(field%3D%22popRank%22,+descending%3D%22true%22)&format=json&callback=cbfunc
修改强>
网站就是这样设计的。这是来自jQuery函数的注释,它为下拉列表提取数据。它解释了查询背后的逻辑。
// select name,admin1.code from geo.places where text="medf*" and country.code="US" limit 10 | sort(field="popRank", descending="true")
请注意它是如何限制在10?
输入返回10个以上结果的搜索字词不会返回任何结果。输入san
会产生超过10个结果,因此无法返回任何内容,因为输入los
会返回3个结果。
这与YQL中的不一致无关。