1

我想获取用户名的个人资料图片。所以我更喜欢为此使用 twitter api 版本 1。(api 的常规版本在这里)。但我的代码不返回任何数据。我怎样才能解决这个问题?

<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
$(document).ready( function() {   
var userPage = "https//twitter.com/jack"; 
var arr = userPage.split("/");
var username = "";

for(i=3;i<4;i++)
username += arr[i];

var page = 'https://api.twitter.com/1/users/show.json?screen_name='+username;

        $.getJSON(page, function(data) {
            alert(data.profile_image_url);
        });

})

</script>
</head>

<body>
</body>

</html>
4

1 回答 1

1

添加"&callback=?"到 URL 以强制 jsonp 格式绕过 Access-Control-Allow-Origin 问题。

var page = 'https://api.twitter.com/1/users/show.json?screen_name='+username + "&callback=?";

例子

JSONP

JSONP 的工作方式很简单,但需要一点服务器端的配合。基本上,这个想法是让客户端决定将一小块任意文本添加到 JSON 文档中,然后将其包裹在括号中以创建有效的 JavaScript 文档(可能还有有效的函数调用)。

客户端通过使用名为 jsonp 的查询参数和要添加的文本来决定任意添加的文本。简单的!使用空的 jsonp 参数,结果文档只是用括号括起来的 JSON。

于 2012-10-23T17:22:29.860 回答