1

.get呼び出しを使用して、ページの読み込みまたはボタンの押下を介して要素を更新する際に問題が発生します。

コード...

$(document).ready(function() {
    //updateVariable();
    $('#dannychoolink').html('<?php dannyChoo()?>');
    $('.danny-choo').attr('target', '_blank');
});

$('#clicky').mouseenter(function() {
       $('#dannychoolink').html('Click for a Random DannyChoo.com Article');
        }).click(function() {
            updateVariable();
            $('#dannychoolink').html('YA!');
            //$('#dannychoolink').html('<?php dannyChoo()?>');
            //$('.danny-choo').attr('target', '_blank');
        });

function updateVariable() {
    $.get('random.php',
           function(output){ 
                $('#dannychoolink').html(output);
                $('.danny-choo').attr('target', '_blank');
            }
        );
};

次のようなデータベースエントリをエコーする単一の関数を保持する関数updateVariable()呼び出し:random.php

<a href="http://www.dannychoo.com/post/en/26568/Nendoroid+Moekana.html" class="danny-choo">Nendoroid Moekana</a>

アイデアは、ページのロードとクリックのいずれかでランダムなエントリ(関数内で実行されます)をロードすることです。

これは私のホームページ(http://www.danielbough.com)では完全に機能しますが、個々の記事では期待どおりには機能しません(updateVariable関数は、実際には個々の記事ページと同じhtmlのページ全体を返します-それが理にかなっている場合。)1つの記事を含むすべてのページがそれを行います(たとえば、http://www.danielbough.com/articles/fun-with-jquery-and-ajax)。

各ページは、個別のファイルを使用して作成されています。「ホームページ」は

  • header.file
  • Navigation.file(dannychoolinkとclicky要素
    はここにあります)
  • ホームページファイル
  • footer.file

個々の記事はそうです:

  • header.file
  • Navigation.file(dannychoolinkとclicky要素
    はここにあります)
  • ファイルを閲覧する
  • footer.file

view.fileに一致しないタグがあるのではないかと思いましたが、表示できるタグはありませんでした。

updateVariable()ページがクラッシュするまでロードを続けたため、document.ready関数で呼び出しをコメントアウトする必要がありました。

JavaConsoleは'Uncaught SyntaxError: Unexpected token < '、個々の記事ページが読み込まれたとき、または「clicky」要素をクリックしたときに表示されます。理由がわかりません。

Google+とTwitterの呼び出しもview.fileに含まれていることに注意してください。テスト中に削除しましたが、影響はありません。

更新'Uncaught SyntaxError: Unexpected token < 'エラーはckeditor.jsとGoogleのjquery.min.jsが原因で発生しました 。Google jsライブラリを1.7.2の「フル」バージョンに更新し、テストするためにckeditor.jsを削除しました。Javaエラーはなくなりましたが、get関数の問題は残っています。

4

1 に答える 1

0

random.phpサーバー上の 2 つの異なる場所から相対パス (この場合は ) を介してファイルにアクセスしようとしています。この記事の場合、http://www.danielbough.com/articles/random.phpを取得しようとしています。これは、コンテンツのない通常のページを提供するだけです。そのため、その html 全体を取得していました。

解決策は、random.php に絶対 URL を与えることです。これはhttp://www.danielbough.com/random.phpだと思います。次のようなものです:$.get('http://www.danielbough.com/random.php',

于 2012-08-03T00:15:48.377 に答える