2010-08-16 105 views
1

我有一段JavaScript調用社交發布窗口小部件覆蓋。當你加載頁面的疊加會彈出,這是調用它的腳本:我需要把某種方式創建一個JavaScript或PHP函數,將火的時候,這個PHP函數被調用創建從PHP調用的Javascript函數

<script type="text/javascript"> 
    RPXNOW.loadAndRun(['Social'], function() { 
    var activity = new RPXNOW.Social.Activity(
     "Share your comment", 
     "commented on 'Like My New Perfume?' on cuteoverload.com", 
     "http://cuteoverload.com/2009/10/26/like-my-new-perfume/"); 
    RPXNOW.Social.publishActivity(activity); 
    }); 
</script> 

function response($oAlert) { 
    // something to happen here; 
} 
+1

剛剛命名的函數,然後'回聲「」'不漂亮,但它會完成工作。 – 2010-08-16 22:05:35

回答

0

由於PHP運行在服務器上的Javascript運行在客戶機上,你可以從一個Javascript中(使用XMLHTTP請求)調用遠程PHP函數,但你不能從一個PHP函數調用JavaScript函數。上面的代碼片段正在對publishActivity函數進行回調,以便您可以在回調中調用您的PHP函數,並且可以觸發另一個響應者的JavaScript函數,它將根據響應的等級來等待AJAX​​響應和觸發。

+1

其實你可以從php調用javascript函數。拜倫惠特洛克寫道:回聲「」。 – Zango 2010-08-16 22:32:26

+0

謝謝,我將使用curl發佈一些數據,然後根據發佈的內容顯示js。 – tmartin314 2010-08-17 12:57:57

1

PHP是服務器端,所以如果你希望JavaScript與它交互,你將不得不通過HTTP請求來推送信息。我建議建立一個專門處理不同命令的.php文件的AJAX請求。 IE:

switch ($_POST['command']) { 
    case "post" : doPost(); break; 
    case "dance" : doDance(); break; 
    default : break; 
} 
+0

謝謝。我認爲這是最好的選擇。 – tmartin314 2010-08-17 12:56:41