2010-08-23 4 views
13

필자의 사이트에서 PHP 기능을 사용하는데 몇 초가 걸렸습니다. 이것은 내가 원하지 않는 전체 페이지를 유지합니다.jQuery에서 PHP 함수를 호출 하시겠습니까?

jquery는 페이지가로드 된 후이 PHP 함수를 호출하여 div에 결과를 표시 할 수 있습니까? 또한 PHP 함수가 완료 될 때까지 ajax 로더 이미지를 표시 하시겠습니까?

jQuery.post를보고 있었지만 제대로 작동하지 않는 것 같습니다.

누군가 도움을 줄 수 있습니까?

고마워요.

+1

그것은 AJAX를 사용 가능하지만 아마 당신은 우리에게 정확히 당신이 달성하려고하는 것들에 대한 아이디어도 제공한다 코드의 일부를 게시해야한다. –

답변

16

AJAX는 마법을 수행하는 모든

$(document).ready(function(

    $.ajax({ url: 'script.php?argument=value&foo=bar' }); 

)); 
2

정확히 아약스입니다. 여기를 참조하십시오 :

http://api.jquery.com/load/

기본적으로, 당신은/test.php를 Ajax와 결과 ID를 가진 요소에 반환 된 HTML 코드를 넣습니다. 물론

$('#result').load('ajax/test.php'); 

새 PHP 파일에 시간이 걸리는 기능을 넣어 (또는 기능 만 활성화하는 GET 매개 변수를 사용하여 이전 전화)해야합니다.

7

네, 분명히 가능합니다. 당신은 별도의 PHP 파일에 php 함수가 있어야합니다. 다음은 $ .post를 사용하는 예입니다.

$.post( 
    'yourphpscript.php', // location of your php script 
    { name: "bob", user_id: 1234 }, // any data you want to send to the script 
    function(data){ // a function to deal with the returned information 

     $('body ').append(data); 

    }); 

그리고 나서 PHP 스크립트에서 원하는 html을 반향 출력합니다. 이것은 간단한 예이지만, 좋은 장소가 시작하기 :

<?php 
    echo '<div id="test">Hello, World!</div>'; 
?> 
+2

php 함수가 다른 함수를 포함하는 PHP 파일 내부에도 있다면 어떻게해야합니까? – WantIt

9

감사합니다. 나는 각자의 해결책을 조금씩 가져 와서 내 자신을 만들었습니다.

최종 작업 솔루션은 다음과 같습니다

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $.ajax({ 
      url: '<?php bloginfo('template_url'); ?>/functions/twitter.php', 
      data: "tweets=<?php echo $ct_tweets; ?>&account=<?php echo $ct_twitter; ?>", 
      success: function(data) { 
       $('#twitter-loader').remove(); 
       $('#twitter-container').html(data); 
      } 
     }); 
    }); 
</script> 
관련 문제