我想从表单加载中的weather api中检索一些数据。我也是ajax的新手,我不知道表单加载中的ajax工作。这是我的代码。 谢谢,
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$.ajax({
type:"GET"
, url:"http://api.openweathermap.org/data/2.5/weather?q=London,uk"
, dataType:"json"
, success: function(data){
$('#result').text(data)
}
});
});
</script>
</head>
<body>
<div id="result"></div>
</body>
</html>
答案 0 :(得分:3)
由于浏览器为jsonp,您必须使用same origin policy格式。
另请注意,实现error
回调有助于调试....如果您使用Chrome,ctrl+shift+J是您的朋友...(请注意,对于jsonp类型的调用,错误回调不是已解雇,但它确实触发了您的原始代码,又称json为dataType)
$.ajax({
type:"GET"
, url:"http://api.openweathermap.org/data/2.5/weather?q=London,uk"
, dataType:"jsonp"
, success: function(data){
$('#result').text(data.name);
}
, error: function(e) {
alert(e);
}
});
工作jsfiddle
答案 1 :(得分:1)
我认为会是
$('#result').text(data + "OKkkkkk");
我不认为通过cross domain
AJAX会进行通信,而且您正在获取JSON数据,因此您需要过滤该数据并进行显示。
根据您的需要,您需要一个像
这样的错误块$.ajax({
type:"GET"
, url:"http://api.openweathermap.org/data/2.5/weather?q=London,uk"
, dataType:"json"
, success: function(data){
$('#result').text("data" + "OKkkkkk")
},
error : function(){
alert('Ajax call was failed');
}
});
如果ajax调用成功,那么它将转到成功块并将结果数据输入到结果div中,或者如果失败则会在进入错误块时发出警告
答案 2 :(得分:1)
您已将数据放在双引号中,因此它被解释为文本。正确的形式是:
$( '#结果')。文本(数据)