0
我已經繼承了一個Facebook應用程序,該應用程序無法按預期工作100%。我不瞭解以前的開發者的邏輯,但我沒有足夠強大的Facebook API來重寫它。爲什麼Facebook在Android上給我一個空的迴應?
該應用程序有一個窗體,用戶(登錄時)需要回答幾個問題。當他點擊提交時,我們想檢查他是否喜歡該頁面。該表格只會在他提交時提交。
window.fbAsyncInit = function() {
FB.init({
appId : '[myappid]',
channelUrl : '//www.myurl.com/channel.aspx',
status : true,
cookie : true,
xfbml : true
});
};
$("form input[type='submit']").on("click", function(e) {
e.preventDefault();
setTimeout(function() {
FB.api('/me/likes/MY-PAGE-ID',function(response) {
if(response.data) {
alert(response.data); // I get this (empty) alert
if(!isEmpty(response.data)) {
alert('all ok'); // I never get this :(
//$("form").submit();
} else {
alert("You must \"Like\" the page."); // Every time
}
}
});
}, 1000);
// Unrelated code edited out - end brackets may not match 100%
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
現在,在桌面上,它按預期工作。但是,在Android上它不會。它確實輸入了第一個if(response.data) {
,但下面的應該返回數據的警報框返回空白。因此它從不輸入以下if語句。
我不明白的部分是爲什麼它進入第一個如果(response.data
存在)但不是第二個(因爲響應在某種程度上是空的,即使頁面被喜歡)。
不幸的是,我沒有其他設備可以測試。
我可以忽略一些明顯的明顯錯誤嗎?我能做些什麼來挽救它?