再次+更新:这个jQuery代码不起作用,为什么?

时间:2011-07-31 19:16:41

标签: jquery

今天早上我问了一个关于jQuery代码无效的问题(使用API​​抓取json文件)然后一些伟大的人告诉我必须让jsonp中的json文件使用回调,我没有。

我与提供API的网站的开发人员进行了沟通,他解决了这个问题以便它支持jsonp,但代码仍无法正常工作!!

这是页面的代码(您可以看到它查看此页面的来源http://rawaji.com/test.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>
 <script>
  $(document).ready(function(){
    $.getJSON("http://api.qaym.com/0.1/countries/key=u2gTerCTZDudTCMhQBQ9&jsoncallback=?",
        function(data){
          $.each(data, function(i,item){
             $("#results").append("<span class='result' >" + item.name + "</span></br>");
            if ( i == 3 ) return false;
          });
        });
  });
  </script>

</head>
<body>
  <div id="results">
  </div>
</body>
</html>

只是一点注意,FireBug告诉我代码中没有错误,甚至控制台都告诉我文件导入正确(参见图像http://twitpic.com/5yycg5

什么是失踪!! :(

UPDAATE

我使用了另一个控制器,它向我显示了这条消息!

  

键= u2gTerCTZDudTCMhQBQ9&安培; jsoncallback = jQuery16206894429267849773_1312140242381:-1   资源解释为脚本但使用MIME类型传输   应用/ JSON。

我对此一无所知,但我会搜索它。如果有人有想法,请告诉:)

1 个答案:

答案 0 :(得分:1)

这有效:

$(function(){
    $.ajax({
        url: 'http://api.qaym.com/0.1/countries/key=u2gTerCTZDudTCMhQBQ9',
        dataType: 'jsonp',
        crossDomain:true,
        success:function(data){
            $.each(data, function(i,item){
                $("#results").append("<span class='result' >" + item.name + "</span></br>");
                if ( i == 3 ) return false;
            });
        },
        error:function(jqxhr,err,status){
            alert(status);
        }
    });
});

401错误返回需要身份验证 - API密钥无效。

http://jsfiddle.net/AlienWebguy/CqrPe/