2012-10-23 71 views
1

我想獲取用戶名的個人資料圖像。所以我更喜歡使用twitter api版本1(api的常規版本是here)。但我的代碼不會返回任何數據。我怎樣才能解決這個問題?使用getJSON在json中獲取數據

<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

做'console.log(data)'並檢查對象。 – xbonez

+0

你的'page'肯定有什麼問題,'data.profile_image_url' _將提取圖像-URI(至少對於示例代碼)。猜猜'用戶名'是錯誤的。 – davidkonrad

+1

您是否收到任何數據,或者是否有錯誤?您可能會遇到'Access-Control-Allow-Origin'的錯誤 –

回答

1

添加"&callback=?"的URL來強制JSONP格式,以繞過訪問控制允許來源問題。

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

EXAMPLE

JSONP

方式JSONP工作原理很簡單,但需要 服務器端合作的一點點。基本上,這個想法是,你讓 客戶端決定一小部分任意文本,以將其添加到 JSON文檔中,並將其包裝在括號中以創建一個有效的 JavaScript文檔(以及可能的有效函數調用)。

客戶端通過使用名爲jsonp的參數查詢 與要預先設置的文本來決定任意前綴文本。簡單!用空的 jsonp參數,結果文檔簡單地用JSON封裝在 括號中。

+0

噢謝謝你!我剛剛意識到錯誤http://i.imgur.com/FHHmH.png – doruk

+1

你是最受歡迎的。很高興我能幫忙=) – Chase