サイトにPHP関数があり、完了するまでに数秒かかります。これは、私が望まないページ全体を保持します。
Jqueryを使用して、ページが読み込まれた後にこのPHP関数を呼び出し、divに結果を表示することは可能でしょうか? PHP関数が完了するまでajaxローダーイメージを表示するには?
私は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/test.phpを実行し、返されたHTMLコードを結果IDを持つ要素に配置します。
$('#result').load('ajax/test.php');
もちろん、時間がかかる機能を新しいphpファイルに配置する必要があります(または、その機能のみをアクティブにするGETパラメーターで古いファイルを呼び出します)。