为什么这个jQuery代码不起作用?怎么了?
它提醒所请求的JSON文件内容的预期行为,但它没有。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$.ajax({
type: 'GET',
url: 'http://api.xxxxxxxxx.com/0.1/cities/key=xxxx',
dataType: 'jsonp',
crossDomain: true,
success: function(data){
$.each(data, function(i, el){
alert(el.city)
});
;}
});
</script>
<title>Example</title>
</head>
<body></body>
</html>
答案 0 :(得分:2)
您要加载的资源不是JSONP,它只是一个JSON字符串,JSONP应如下所示:
callback("jsonString");
并非所有json都可以作为jsonp加载,必须专门为它设置。
答案 1 :(得分:0)
功能需要回调
callback({json:true});
如果您无法控制目标服务器,则无法进行jsonp请求