这个jQuery页面不起作用,为什么?

时间:2011-07-31 12:59:11

标签: jquery

为什么这个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>

2 个答案:

答案 0 :(得分:2)

您要加载的资源不是JSONP,它只是一个JSON字符串,JSONP应如下所示:

callback("jsonString");

并非所有json都可以作为jsonp加载,必须专门为它设置。

JSONP

答案 1 :(得分:0)

功能需要回调

callback({json:true});

如果您无法控制目标服务器,则无法进行jsonp请求