0

この質問は過去に回答されたようですが、私は1)解決策を理解するのに苦労しているか、2)それらを正しく実装していないかのどちらかです。

PHP関数があり、実行するとデータベースクエリの結果が返されます。結果は次のようになります。

<a href="http://www.dannychoo.com/post/en/26468/Koenji.html" class="danny-choo">Koenji</a>

これをページにうまくエコーできます。私がやりたいのは、エンドユーザーに、ページ全体を更新せずにリンクを更新するオプションを提供することです(これは、ページを更新し、php関数によって返される新しいランダムな文字列をエコーすることで実行できます)。いくつかの異なる方法を試しましたが、要素を返す関数はページがリロードされたときにのみ実行されるようです。そのため、URLは変更されません。

これが私の最新の試みです。データベースから取得しているURLは、ページが読み込まれたときにのみ設定されると思いました。url変数を初期化する関数を設定すると役立つと思いました-ダメです。それでも、ページの読み込み時に1回だけ機能します。

$(document).ready(function() {
    updateVariable();
    $('#dannychoolink').html(random + url);
    $('.danny-choo').attr('target', '_blank');
});

$('#clicky').click(function() {
    updateVariable();
    $('#dannychoolink').html(random + url);
    $('.danny-choo').attr('target', '_blank');
});

function updateVariable() {
    url = '<?php echo dannyChoo();?>';
    random = 'Random DannyChoo.com article:  ';
};

あなたはそれをwww.dannychoofan.comでライブで見ることができます。

どんな助けでも大歓迎です=0)

4

2 に答える 2

1

ajaxスタイルの通話を探しているようです。

dannyChoo()関数の内容を、index.phpファイルと同じレベルのarticleLinkGenerator.phpという新しいファイルに配置する必要があります。このファイルには、dannyChoo()関数の内容が含まれている必要があります。これにより、次のようなリンクに期待するhtmlが自動的に実行され、エコーされます。

<?php
    function dannyChoo(){
        // generate random link code
        echo $random_link_html // Like <a href="http://www.dannychoo.com/post/en/26468/Koenji.html" class="danny-choo">Koenji</a>
     }

      dannyChoo();

次に、index.php(メインWebサイト)で、ajax(http://api.jquery.com/jQuery.get/)を使用して関数を次のように更新します。

$(document).ready(function() {
    updateVariable();
});

$('#clicky').click(function() {
    updateVariable();

});

function updateVariable() {
    $.get('articleLinkGenerator.php',function(data){
        $('#dannychoolink').html(data);
     });
};
于 2012-08-02T01:28:30.630 に答える
0

これは、PHPはページが読み込まれる前に実行され、JavaScriptはページが読み込まれた後に実行されるため、別のページが読み込まれない限り変数が変更されることはありません。

于 2012-08-02T01:12:01.963 に答える