2011-07-31 104 views
0

今天早上我问了一个关于jQuery代码不工作的问题(它使用API​​来获取json文件),然后一些好的人告诉我必须在jsonp中使用json文件来使用回调函数,而我没有。Again +更新:此jQuery代码不起作用,为什么?

我与提供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> 

只是一个小纸条,那萤火告诉我没有错误代码,甚至控制台告诉该文件正确导入(请参阅图像http://twitpic.com/5yycg5

什么是缺失! :(

UPDAATE

我用另一种安慰时,安慰,它显示了我这个消息

键= u2gTerCTZDudTCMhQBQ9 & jsoncallback = jQuery16206894429267849773_1312140242381:-1 资源解释为脚本,但与MIME转移type application/json。

我只是kn对此无关,但我会搜索它。如果有人有一个想法,PLZ告诉:)

回答

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/

+0

仍然不工作!即使在你的页面中也看到源代码http://rawaji.com/test.html – Fahd

+0

,即使你复制了json文件的链接,它也只是打印json文件 – Fahd

+0

一个401错误。你需要调查你的HTTP授权:http://www.checkupdown.com/status/E401.html – AlienWebguy

相关问题