서버에서 실행중인 슬라이드 쇼 (jQuery Cycle2 플러그인)가 있습니다. 슬라이드 쇼는 jQuery 함수를 호출하는 슬라이드 쇼에서 버튼을 사용하여 일시 중지하고 중지 할 수 있습니다.AJAX 호출을 사용하여 원격 JS 함수 호출
응용 프로그램은 다음과 같이 구성되어 있습니다. index.php에서 다른 PHP 스크립트로 POST를 보내서 슬라이드 쇼 내용을로드하는 함수 내에서 슬라이드 쇼 함수 (중지, 일시 중지 등) 및 AJAX 호출을 정의합니다. 서버. 지금까지 이것은 잘 작동합니다.
이제 세 번째 장치에서 내 슬라이드 쇼를 원격 제어 할 수있는 다른 스크립트 (또는 아마도 Webservice) remoteControl.php가 필요합니다. 그래서 서버와 다른 사이트 (아마 같은 도메인)에서 슬라이드 쇼를 실행한다고해서 AJAX를 사용하여 index.php에서 슬라이드 쇼 기능을 호출합니다. 현재로서는 작동하지 않습니다. 내 index.php에의 바디 섹션에서 내가 넣어 : 슬라이드 쇼의 모든 다른 콘텐츠와 스크립트 다음
if(isset($_POST['action'])){
$actionOnSlideshow = $_POST['action'];
echo '<script>'.$actionOnSlideshow.'();</script>';
}
?>
합니다. $actionOnSlideshow
변수에는 remoteControl.php의 AJAX 요청에서 보낸 각 함수가 포함됩니다. 동일한 출처 정책과 관련 될 수 있습니까? 그러나 두 번째 AJAX 호출이 동일한 도메인에서 발생하므로이 문제가 발생하지 않아야합니다.
디스플레이를 수행하는 장치에 변경 사항을 적용 할 수있는 방법이 있어야합니다. 디스플레이 장치에서 서버를 폴링하여 원격지에서 업데이트가 있는지 확인하는 것이 좋습니다. –
코멘트 주셔서 감사합니다, 나는 AJAX 그것을 할 줄 알았지 만, 물론 완료/성공 함수에서 아무것도 지정하지 않으면 않습니다. 이걸 어떻게 달성 할 수 있는지 제안 해 주시겠습니까? HTML을로드 할 필요없이 JS 함수를 다시 호출하면됩니다. – Pete
언제든지 AJAX를 타이밍 루프로 호출 할 수 있습니다. –