gpt4 book ai didi

jquery - 使用 devbridge 自动完成和 wunderground 自动完成 API

转载 作者:行者123 更新时间:2023-11-30 23:59:20 27 4
gpt4 key购买 nike

我正在尝试使用 devbridge jquery 自动完成库来提取 wunderground.com 的自动完成 API,但我一直被阻止。无论我是否将 cb 附加到 serviceUrl,它都无法解析返回的 json。响应的前缀为“{RESULTS: [{ 我想要使用的数组数据 }]}”。

当我使用文档中提供的自动完成代码时,它显示“Uncaught SyntaxError: Unexpected token :”

当我将 &cb=myresults 应用于 serviceUrl 时,我收到“Uncaught ReferenceError:myresults 未定义”

我的代码是:

var options, a;
$(function(){
options = {
serviceUrl:'http://autocomplete.wunderground.com/aq?c=US&format=jsonp&cb=myresults',
minChars: 7,
dataType : "jsonp",
transformResult: function(response) {
response = JSON.parse(response);
return {
suggestions: $.map(response.myData, function(dataItem) {
return { value: dataItem.name, data: dataItem.zmw };
})
};
}
};
a = $('#autoLocation').autocomplete(options);
});

wunderground API 是:http://www.wunderground.com/weather/api/d/docs?d=autocomplete-apidevbridge 自动完成 git 是:https://github.com/devbridge/jQuery-Autocomplete来自 wunderground 的示例响应是:http://autocomplete.wunderground.com/aq?c=US&format=jsonp&cb=myresults&query=san%20f

我已经迷失了几天,我确信我正在寻找一些非常简单的东西。非常感谢任何帮助或指导。

最佳答案

要使其正常工作,您需要修改源代码,因为 jquery jsonp 默认回调查询字符串键不是“cb”,而是“callback”。所以在自动完成源中添加: jsonp: 'cb'

        that.currentRequest = $.ajax({
url: serviceUrl,
data: params,
type: options.type,
jsonp: 'cb',
dataType: options.dataType
}).done(function (data) {

那么你的代码应该是:

var options, a;

$(function(){
options = {
serviceUrl:'http://autocomplete.wunderground.com/aq?c=US&format=jsonp',
minChars: 2,
dataType : "jsonp",
transformResult: function(response) {
console.log('response', response);
return {
suggestions: $.map(response.RESULTS, function(dataItem) {
return { value: dataItem.name, data: dataItem.zmw };
})
};
}
};
a = $('#autoLocation').autocomplete(options);
});

这对我来说效果很好。

关于jquery - 使用 devbridge 自动完成和 wunderground 自动完成 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com