希望這將是一個直截了當的解決方案,但我似乎無法自己解決它。用JQuery .each掙扎()函數
背景是我試圖創建一個Web應用程序,把你所有的Facebook朋友到jQuery用戶界面自動完成併發布到自己的牆,當你完成選擇朋友,然後點擊一個鏈接/按鈕等
我曾經爲一位朋友工作得很好,但要求已經改變(如以往),使這項工作爲多個朋友。
到目前爲止,除了涉及到實際張貼到用戶朋友的牆上時,我已經擁有了與多個朋友一起工作的所有內容。
代碼
我會盡量保持這有關我相信這是如下問題的代碼:
我有一個隱藏的輸入,我管理與ID填充:
<input id="fbid" type="hidden" value="12345, 567890, ">
然後,我有一個jQuery函數,當鏈接被點擊後發佈到朋友的牆上時運行。
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '12345678', // App ID
channelUrl : '/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
// Additional initialization code here
FB.login(function(response)
{
if (response.authResponse)
{
$("#send-voucher").click(function() {
// Post message to friend's wall
var opts = {
message : 'This is the message',
name : 'This is the name',
link : 'http://www.opticalexpress.co.uk',
description : 'This is the description',
picture : '/voucher_valid.png'
};
var referees = $("#fbid").val();
// remove last comma and space from the end of the string
referees = $.trim(referees);
referees = referees.substring(0, referees.length - 1);
var referee = referees.split(', '); // comma space
referee.each(function() {
FB.api('/'+ referee +'/feed', 'post', opts, function(response)
{
if (!response || response.error)
{
alert('Posting error occured');
}
else
{
alert('Success - Post ID: ' + response.id);
$("#send-voucher").hide();
$("#voucher-sent").fadeIn('slow');
}
});
});
});
}
else
{
alert('Not logged in');
}
}, { scope : 'publish_stream' });
};
由螢火蟲報告的錯誤是referee.each is not a function
如果您需要任何進一步的信息,那麼請讓我知道。
啊......謝謝。似乎與Facebook部分有關的新錯誤。謝謝! – martincarlin87
不要忘記標記你的問題作爲回答@ martincarlin87;) – nyson
@nyson - 必須等待8分鐘;)感謝所有回答。錯誤現在似乎是字符串實際上並沒有被分割......它試圖兩次發佈到「12345,567890」,而不是「12345」,然後是「567890」...... – martincarlin87