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