尝试使用javascript,jquery和html搜索wunderground位置
下面的代码不起作用。 试图搜索天气位置。 当我搜索没有任何反应。
$(document).ready(function(){ var url='http://autocomplete.wunderground.com/aq?format=JSON&query='; var query; $('button').click(function(){ query=$("#query").val(); $.getJSON(url+query,function(json){ $.each(json.results,function(i,location){ $("#results").append(''+location.name+'
'); }); }); }); });
仅供参考我对编码非常缺乏经验(从其他网站复制脚本)
如果你想进行跨域请求,你必须使用JSONP
,你应该为wunderground.com中提到的JSONP请求附加回调函数,试试这个。
$(document).ready(function() { var url = 'http://autocomplete.wunderground.com/aq?format=JSON&query='; var query; $('button').click(function() { query = $("#query").val(); $.getJSON(url + query + '&cb=callbackfunc', function(json) { $.each(json.results, function(i, location) { $("#results").append('' + location.name + '
'); }); }); }); });
更新:
首先,您应该了解什么是JSONP 。
cb参数用于wunderground API中的 JSONP回调函数, 您可以在文档中看到 。
如果你还是不明白为什么需要使用jsonp回调函数,
打开这两个链接,你会看到它们之间的区别。
没有cb参数
与cb paramater
出于安全原因,您无法使用JavaScript从远程站点提取数据(请参阅相同的原始策略 )。
解决方法涉及CORS(有限的浏览器支持,该服务不支持),JSON-P(该服务显然不支持)以及在您自己的服务器上使用代理。