Javascript JSON在Safari中加载,但在Firefox或Chrome中不加载
我正在尝试使用javascript和worlweatheronline.com api在我正在构建的站点上显示天气。在Safari中测试时,我可以提取所有需要的数据,但在Firefox和Chrome中什么都没有显示。我使用了以下代码:Javascript JSON在Safari中加载,但在Firefox或Chrome中不加载,javascript,jquery,json,firefox,safari,Javascript,Jquery,Json,Firefox,Safari,我正在尝试使用javascript和worlweatheronline.com api在我正在构建的站点上显示天气。在Safari中测试时,我可以提取所有需要的数据,但在Firefox和Chrome中什么都没有显示。我使用了以下代码: var url = 'http://api.worldweatheronline.com/free/v1/weather.ashx?q=Gent&'http://api.worldweatheronline.com/free/v1/weather.ashx
var url = 'http://api.worldweatheronline.com/free/v1/weather.ashx?q=Gent&'http://api.worldweatheronline.com/free/v1/weather.ashx?q=Gent&
jQuery.get(url,function(r){
document.getElementById("weather").innerHTML += .... ; // do something
},"JSON");
我在论坛和谷歌上找到了获取json数据的替代方法,并得出以下结论:
$.ajax({
url: 'http://api.worldweatheronline.com/free/v1/weather.ashx?q=Gent&format=json&cc=yes&key=pjzd2w42md9qacscthr9gw4h',
type: 'GET',
dataType: 'json',
success: function(r) {
alert("test");
},
error: function() {
alert("error");
}});
Safari再次发出包含“test”的警报,但Firefox和Chrome都显示“error”。当我查看Web控制台时,没有看到任何错误,只有HTTP/1.1200 OK消息。我找了好几个小时,但找不到解决办法。。。如果有人看到我做错了什么,请告诉我
顺便说一句:JSONLint说url是有效的
编辑:尝试了数据类型:“json”和数据类型:“jasonp”,但结果相同。它可能会对查询字符串发出吠声。我会把它设置得更合适一点:
$.ajax({
type:'GET',
url:'http://api.worldweatheronline.com/free/v1/weather.ashx',
data:{q:'Gent',format:'json',cc:'yes',key:'pjzd2w42md9qacscthr9gw4h'},
success:function(r){
alert('success');
},
error:function(){
alert('error');
}
});
通过将
数据设置为这样,它应该可以正常工作。至少它更具可读性和可扩展性。数据类型:“jason”
?忘了提到那个:尝试了数据类型:“jason”和数据类型:“jasonp”。同样的结果…@OlivierCammaert嗯,是“json”而不是“jason”@AndreiNemes嗯,显然是指得到文件的那个家伙。嗯!:你能问杰森他收到了什么回复吗?(您可以在web inspector的“网络”面板中查看):D非常感谢!使用数据:{q:'Gent',…}完成了任务!别担心!作为将来的参考,我建议每次对查询字符串使用data:{key:'value'}
配对。更干净,更易于维护。