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

    仔细查看此快照:

    08-18 22:13
    查看更多