Вызывать функцию PHP из jQuery?

У меня есть PHP-функция на моем сайте, которая занимает пару секунд. Это держит всю страницу, которой я не хочу.

Можно ли с jquery вызвать эту функцию PHP после загрузки страницы и отображения результатов в div? Также для отображения изображения загрузчика ajax до завершения функции PHP?

Я смотрю на jQuery.post, но не могу заставить его работать.

Кто-нибудь сможет помочь?

спасибо

AJAX делает магию:

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

Спасибо всем. Я взял бит каждого из ваших решений и сделал свой собственный.

Конечным рабочим решением является:

 <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> 

Да, это определенно возможно. Вам нужно иметь функцию 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>'; ?> 

Это именно то, для чего нужен ajax. Глянь сюда:

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

В основном, вы ajax / test.php и поместите возвращенный код HTML в элемент, который имеет идентификатор результата.

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

Конечно, вам нужно будет поместить функциональность, которая требует времени для нового php-файла (или вызвать старый с параметром GET, который активирует только эту функцию).