javascript-来自Google / Bing的具有自动完成功能的自定义框.有什么办法读取接收到的json文件吗?

我尝试建立一个带有搜索框的网页.我想使用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/

仔细查看此快照:

上一篇:CodeForces - 631C (截取法)


下一篇:javascript – 如何使用JSONP克服XSS问题?