我的网站上有一个PHP函数,需要几秒钟才能完成。这保持了我不想要的整个页面。
使用jquery可以在页面加载后调用此PHP函数并在div中显示结果吗?还要在PHP函数完成之前显示ajax加载程序图像?
我一直在关注jQuery.post,但似乎无法让它工作。
有人能帮忙吗?
谢谢
答案 0 :(得分:18)
AJAX的神奇之处在于:
$(document).ready(function(
$.ajax({ url: 'script.php?argument=value&foo=bar' });
));
答案 1 :(得分:10)
谢谢大家。我拿走了你的每一个解决方案,然后自己做了。
最终的工作解决方案是:
<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>
答案 2 :(得分:9)
是的,这绝对是可能的。你需要在一个单独的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>';
?>
答案 3 :(得分:3)
这正是ajax的用途。见这里:
基本上,你是ajax / test.php并将返回的HTML代码放到具有结果id的元素中。
$('#result').load('ajax/test.php');
当然,您需要将需要时间的功能放到新的php文件中(或者使用GET参数调用旧文件,该参数仅激活该功能)。