我有一個幻燈片(jQuery Cycle2插件)在服務器上運行。幻燈片放映可以通過幻燈片上的jQuery函數按鈕暫停和停止。AJAX調用一個遠程JS函數
該應用程序的結構如下:在index.php中,我定義了一個函數中的幻燈片函數(停止,暫停等)和一個AJAX調用,該函數將POST發送到另一個PHP腳本以加載幻燈片內容服務器。到目前爲止,這很好地工作。
現在,我想要另一個腳本(或者Webservice)remoteControl.php,它允許我從第三個設備遠程控制我的幻燈片。所以說我在服務器上和其他網站(可能是同一個域名)上運行幻燈片,我也使用AJAX調用index.php中的幻燈片功能。 目前這不起作用。 在我的index.php的主體部分,我把:
if(isset($_POST['action'])){
$actionOnSlideshow = $_POST['action'];
echo '<script>'.$actionOnSlideshow.'();</script>';
}
?>
然後是所有其他內容和腳本的幻燈片。 $actionOnSlideshow
變量包含從remoteControl.php中的AJAX請求發送的相應函數。 這可能與同源策略有關。第二個AJAX調用是來自同一個域,所以這不應該成爲問題!?
您必須有辦法將更改推送到執行顯示的設備。您可能需要考慮讓顯示設備輪詢服務器以查看遠程是否進行了更新。 – 2014-09-10 15:30:34
感謝您的評論,我認爲AJAX會這樣做,但如果我沒有在done/success函數中指定任何內容,它當然不會。你有什麼建議可以在這裏實現。我不必加載任何HTML,只需再次調用JS函數。 – Pete 2014-09-10 15:37:22
您可以隨時在定時循環中調用AJAX。 – 2014-09-10 15:38:05