I have a link which posted data to another page vote.php
through jquery.
When I click on that link, it return the state according to the condition. If that user posted the vote before then it displayed the "already voted" other wise "Your vote posted".
All was working fine.
I am using the facebook post to wall sdk.
Now when I call the fb_publish_on_wall
function from the vote.php, the message successfully posted to my fb wall but it did not return the state of the vote like "Your vote posted".
What is the problem. When I comment out that line where I am calling the fb_publish_on_wall
function then It works fine.
I think the jquery did not get response from vote.php
after calling the fb_publish_on_wall
function.
How will I fix this?
UPDATED: Here is the fb_publish_on_wall function
function fb_publish_on_wall($message,$link,$picture,$name,$description,$user_facebook2)
{
$message = str_replace(array('<br />', '<br>'), "\n", $message);
$description = str_replace(array('<br />', '<br>'), "\n", $description);
$name = str_replace(array('<br />', '<br>'),"\n", $name);
$link = str_replace(array('<br />', '<br>'), "\n", $link);
global $facebook;
$publishStream = $facebook->api("/$user_facebook2/feed", 'post', array(
'message' => "$message",
'link' => "$link",
'picture' => "$picture",
'name' => "$name",
'description'=> "$description"
));
print $user_facebook2;
}
UPDATED: vote.php. This file is big. SO I am only displaying the that two lines from vote.php
echo json_encode(array("state"=>"<span style='color:#8DA326'>".l("Your vote posted").".</span>"));
fb_publish_on_wall($message,$link,$picture,$name,$description,$user_facebook2);
Remove the print statement in fb_publish_on_wall function, as that will also be part of the return value and will interfere with the json_encoded return value you parse in jquery.
ReplyDelete