Javascript 来自谷歌/必应的具有自动完成功能的自定义框。有没有办法读取接收到的json文件?

Javascript 来自谷歌/必应的具有自动完成功能的自定义框。有没有办法读取接收到的json文件?,javascript,jquery,json,autocomplete,jsonp,Javascript,Jquery,Json,Autocomplete,Jsonp,我尝试建立一个带有搜索框的网页。我想从Bing获取自动完成选项(例如) 可以通过以下方式从bing获取自动完成: 我用一个自动完成小部件编写了一些代码,要求以jsonp的形式获取json,我成功地(在Fiddler中)看到json到达。但由于它只以json的形式到达,而不是以所需的格式到达,所以我得到了parseError。(我在error函数中看到了它。未调用success函数) 我的代码中的相关部分是: $( "#mySesearchBox" ).autocomplete({

我尝试建立一个带有搜索框的网页。我想从Bing获取自动完成选项(例如)

可以通过以下方式从bing获取自动完成:

我用一个自动完成小部件编写了一些代码,要求以jsonp的形式获取json,我成功地(在Fiddler中)看到json到达。但由于它只以json的形式到达,而不是以所需的格式到达,所以我得到了parseError。(我在error函数中看到了它。未调用success函数)

我的代码中的相关部分是:

    $( "#mySesearchBox" ).autocomplete({
      source: function( request, response ) {
        $.ajax({
          url: "http://api.bing.com/osjson.aspx?query=" + request.term,
          dataType: "jsonp",
          ...
有没有办法克服这个问题

我考虑运行一些服务器来获取这样的查询,从Bing请求json,并以所需的格式响应。然而,我更喜欢更简单的解决方案

有什么建议吗?

完整的工作演示:

它使用:

下面是演示中的“测试”:

  • .getJSON
轻弹你的全部代码,或者用小提琴我可能会帮你整理出来。
:)
希望这个演示能帮助你

代码

var url = 'http://api.bing.com/osjson.aspx?JsonType=callback&JsonCallback=?';
$.getJSON(url, {
    query: 'hulk'
}, function (data) {
    document.write(data)
});
更新16小时后
:)

以下是使用以下方法的解决方案:

演示=>

请仔细查看此屏幕:


bing更新后生效的更新代码:

success: function (data) {
    console.log(data);
    var suggestions = [];
    $.each(data[1], function (i, val) {
        suggestions.push(val);
    });
    //This returns the top 5 suggestions, instead of a list of over 20 suggestions.
    response(suggestions.slice(0, 5));

谢谢你有用的回答。你能思考或参考我如何使用第二个代码自动完成吗?完美的解决方案。谢谢:)