2016-05-22 31 views
2

我想把我從Facebook圖形請求接收Facebook的信息轉換成一個對象,但到目前爲止,我所做的唯一的事情就是將所有信息放在一個大字符串中。有沒有更好的方法把整個URL放到一個對象中,這樣就可以像object.Name那樣訪問?這是我的JavaScript代碼來獲取URL代碼,並把它放在一個對象:graph.facebook在一個對象中的輸出

var json = $.ajax({ 
    'url': "https://graph.facebook.com/me?fields=name,email,birthday,location&access_token=xxxxcallback=?" 
}); 

當我說json.responseText我得到這個輸出一個字符串:

'{ 
    "name": "MY_NAME", 
    "email": "MY_EMAIL", 
    "birthday": "MY_BIRTHDAY", 
    "location": { 
     "id": "XXXX", 
     "name": "MY_LOCATION" 
    }, 
    "id": "MY_ID" 
}' 

我需要這個代碼把它在我的網站上註冊頁面,以便我可以輕鬆訪問這些值。我究竟做錯了什麼?謝謝你的幫助!

回答

1

如果通過任何標準jQuery方法訪問AJAX請求的響應,如$.ajax或返回的延遲對象則responseText的將被自動deserialised爲您的done()success屬性。試試這個:

$.ajax({ 
    url: "https://graph.facebook.com/me?fields=name,email,birthday,location&access_token=xxxxcallback=?", 
    success: function(data) { 
     // access the properties of the response here: 
     console.log(data.name); 
     console.log(data.email); 
     console.log(data.location.name); 
    } 
}); 

另外請注意,Facebook有一個Javascript SDK,它也提供上述功能以及提供一些其他的OAuth助手。這可能值得期待。

+0

感謝隊友,解決了我的解決方案! – Bilal

+0

沒問題,很樂意幫忙。 –