我尝试建立一个带有搜索框的网页。我想使用Bing的自动填充选项(例如)。
可以通过以下方式从bing获取自动完成功能:
http://api.bing.com/osjson.aspx?query=YOUR_QUERY
我用自动完成小部件编写了一些代码,要求将json转换为jsonp,然后我成功地(在Fiddler中)看到json到了。但是因为它仅以json的形式到达,而没有以所需的格式到达,所以我得到parseError。 (我在错误函数中看到它。未调用成功函数)
我的代码的相关部分是:
$( "#mySesearchBox" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://api.bing.com/osjson.aspx?query=" + request.term,
dataType: "jsonp",
...
有什么办法可以克服这个问题?
我考虑过要运行一些将获得此类查询的服务器,从Bing询问json并以所需格式响应。但是,我更喜欢简单的解决方案。
有什么建议吗?
最佳答案
完整的工作演示:http://jsfiddle.net/LxXJz/
它使用:http://api.bing.net/qson.aspx
要么
在这里,您可以像这样进行“测试” 演示:http://jsfiddle.net/zNUBc/
.getJSON
:http://api.jquery.com/jquery.getjson/ 轻拂您的整个代码,或者小提琴,我可能会为您整理一下
:)
希望此演示对您有所帮助。代码
var url = 'http://api.bing.com/osjson.aspx?JsonType=callback&JsonCallback=?';
$.getJSON(url, {
query: 'hulk'
}, function (data) {
document.write(data)
});
16小时后更新
:)
这是使用的解决方案:http://api.bing.com/osjson.aspx
演示=> http://jsfiddle.net/pW6LZ/
仔细查看此快照: