1

ユーザー名のプロフィール画像を取得したい。だから私はこれにTwitterAPIバージョン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

URLに追加"&callback=?"して、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 に答える