我尝试建立一个带有搜索框的网页.我想使用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/
仔细查看此快照: