我正在尝试从 twitter 获取 json 数据。 http://api.twitter.com/1/statuses/public_timeline.json 这是我的代码
<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.getJSON("http://api.twitter.com/1/statuses/public_timeline.json",function(result){
$.each(result, function(i, field){
$("div").append(field + " ");
});
});
});
});
</script>
</head>
<body>
<button>Get JSON data</button>
<div></div>
</body>
</html>
来自http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax_getjson 但它不起作用!
最佳答案
您正在运行 same origin policy在 JavaScript 中。这基本上是说,您不能访问来自不同域的资源(在您的情况下,另一个域是 twitter.com)。
一种解决方案是使用 JSONP。微博API supports this .在您的情况下,您可以使用 jQuery 运行 JSONP 请求,如下所示:
$.ajax({
url: "http://api.twitter.com/1/statuses/public_timeline.json",
cache: false,
dataType: 'jsonp',
success: function( result ){
$.each(result, function(i, field){
$("div").append(field + " ");
});
}
});
此外,w3schools 不是可靠的信息来源。最好使用类似 Mozilla Developer Network 的东西.
关于javascript - 无法在jquery中加载json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13625776/