0

我是 JavaScript 和 jquery 的新手......我一直在尝试编写一段简单的代码来使用天气 api 来提醒当前温度。

这是我到目前为止所得到的:

 <script src="http://code.jquery.com/jquery-1.9.1.js"/>

 <script>
 var my_city="Washington,USA";
 var my_key="8b0642a6c7133932132002";
 var no_of_days=2;
 // build URI:
 var uri="http://free.worldweatheronline.com/feed/weather.ashx?               q="+my_city+"&key="+my_key+"&format=json&no_of_days="+no_of_days+"&includeLocation=yes";
 // uri-encode it to prevent errors :
 uri=encodeURI(uri); 

 jQuery.get(uri,function(r){
 current_temp_C  =r.data.current_condition[0].temp_C;
 alert(current_temp_C);
 },"json");
 </script>

但是,什么都没有显示。如果有人能指出我哪里出错了,请告诉我!谢谢!

4

1 回答 1

2

我假设您最终进入错误处理程序,并且您只在代码中处理成功的 ajax 调用。由于您使用的是 jquery > 1.5,因此您可以执行以下操作来检查:

jQuery.get(uri,function(r){
    current_temp_C  =r.data.current_condition[0].temp_C;
     alert(current_temp_C);
},"json").fail(function(jqXHR, ajaxOpts, thrownError){
    alert(thrownError);
});

此外,根据代码,您查询的字符串有很多空格。不是将数据作为自定义查询字符串传递,而是添加一个带有数据的对象文字作为第二个参数$.get

jQuery.get(uri, { key1: 'value1', key2: 'value2' }, function(r){
//etc...
于 2013-02-20T14:05:30.740 回答