2014-06-14 5 views
-1

Ajax 호출을 사용하여 PHP에서 JavaScript 함수를 실행할 수 있습니까?Ajax에서 PHP 실행 JavaScript

예를 들어, php에서 ajax 호출을 사용하는 html 페이지가있는 경우.

index.php를

<script> 
    Ajax.post('http://example.com/ajaxEngine.php', { data: "someData" }); 
</script> 

그런 다음 PHP 엔진에, 나는이 같은 자바 스크립트 기능을 실행할 수 있습니다 :

ajaxEngine.php 아약스 포스트는 PHP 엔진으로 전송됩니다

<?php 

$data = $_POST['data']; 

?> 
<script type="text/javascript"> 
    var php_var = "<?php echo data ?>"; 
    function doSomething(php_var) { 
    // do something with data 
    } 
</script> 

마지막으로 JavaScript 함수가 값을 반환해야하는 경우 PHP로 다시 전송? 동일한 페이지에 게시 한 다음 PHP로 변수로 가져올 수 있습니까?

+0

* 왜 당신이 필요합니까 *? AJAX 요청을 보내기 전에 왜 * 할 수 없습니까? – brasofilo

+0

"감각"이 없었습니다 –

+0

스크립트를 숨기고 싶습니다. – user3143218

답변

1

짧은 답변 : 제

ajaxEngine.php에있는 당신의 코드를 자바 스크립트의 스 니펫을 바로 출력 할 것이다. 이것은 귀하의 페이지로 다시 전송되므로 스크립트 태그에 삽입하거나 평가할 수 있습니다 (실행을 원한다면). 그러나 이것은 서버가 아닌 클라이언트 측에서 발생합니다. 스크립트는 PHP에서 동적 데이터를 가지고 있지만. 그래서 이것이 당신이 필요로하는 모든 것이라면 그것은 그렇게 될 것입니다.

주의 : 스크립트를 숨기지 않을 것입니다. 모든 클라이언트에서 볼 수 있습니다.

0

이 기능

function includetext(text,onlyone) 
{ 
    var d=document.createElement('script'); 
    if(onlyone) 
    { 
     var ds=document.getElementById('onlyonesscript'); 
     if(ds) 
      removeElement(ds); 
     d.id='onlyonesscript'; 
    } 
    d.innerHTML=text; 
    document.body.appendChild(d); 
} 

text 시도 - 아약스에서 스크립트의 텍스트를 returing.

onlyone 하나의 스크립트 노드에만 사용하면 도움이 될 것입니다.

ajaxEngine.php

<?php 

$data = $_POST['data']; 

?> 
var php_var = "<?php echo data ?>"; 
// do something with data 
관련 문제