2015-01-20 3 views
-1

나는 Ajax와 접촉 한 적이 없다. 도움을받을 수 있을까요?jQuery ajax php function

나는 PHP 스크립트를 호출하는 방법을 알고있다.

예 :

<script> 
     function myCall() { 
      var request = $.ajax({ 
       url: "ajax.php", 
       type: "GET", 
       dataType: "html" 
      }); 

      request.done(function(msg) { 
       $("#mybox").html(msg); 
      }); 

      request.fail(function(jqXHR, textStatus) { 
       alert("Request failed: " + textStatus); 
      }); 
     } 
    </script> 

어떻게 기능에서 응답을받을 수 있나요? 내 ajax.php에 함수가있는 경우

<?php 

function example(){ 
    return "blablalba....."; 
} 
?> 

내 스크립트는 어떻게 생겼을 까?

답변

1

PHP 스크립트는 echo을 사용하거나 PHP 태그 ?>을 닫고 HTML 또는 유사한 것을 출력하여 브라우저에 직접로드 한 경우처럼 내용을 표시하면됩니다.

1

반환하지 않아야합니다. 실제 출력을 보내야합니다. 예 : JSON 인코딩 된 문자열 또는 배열 (올바른 내용 유형 포함). 결과는 request.done에 언급 된 변수로 채워집니다 (예 : msg).

3

함수로부터 어떻게 응답을 얻을 수 있습니까?

다른 PHP 스크립트의 응답과 같은 방식입니다. Ajax는 무의미합니다.

header("Content-Type: text/plain"); // or whatever 
print example(); 
1

반향보다는 반향을 사용해야합니다.

ajax.php는

<?php 
    function example(){ 
     echo "blablalba....."; 
    } 
?> 
0

그것은 당신이 사용하고있는 내용에 따라 달라집니다. 지정한 콘텐츠가 HTML이므로 응답은 메모장에 작성한 것처럼 HTML 코드가 포함 된 문자열이됩니다. 하지만 AJAX는 "echo 'html code'"가 PHP에서 사용되지 않는 한 응답을 얻지 못합니다.

<?php 
echo '<body><div>Response from php script</div></body>'; 
?> 

먼저 PHP 코드를 수정하십시오. 그런 다음 AJAX에서 "데이터"를 함수 인수로 설정하고 함수 내부에서 사용합니다. 데이터는 PHP의 응답이 될 것입니다.

.done(function(data){ 
var smth = data; 
});