1

HTML ページの div を更新するために jQuery Ajax をよく使用します。ajax は、次のように $(document).read(...) に含まれています。

$(document).ready(function() {
  $('a.button').click(function() {
    var url = $(this).attr('href');
    $('#content').load(url);
    return false;
  });
});

ただし、ボタンをクリックした後、Ajax が失敗することがあり、「コンテンツ」div ではなく、ページ全体に結果が表示されます。これは、ページの読み込み中または更新中に頻繁に発生しました。しかし、 $(document).read(...) がこれを防ぐと思います。何が悪かったのか?

4

2 に答える 2

1

これを試して

 $(document).ready(function () {
     $('a.button').click(function () {
     var url = $(this).attr('href');        

    $.get(url, function(data) {
       $('#content').html(data);    
        });
     });
});
于 2013-01-22T06:46:02.423 に答える
1

Ajax が失敗することがあり、ページ全体に結果が表示されます

これは、ハイパーリンクがセレクターで選択されていないことを示していますa.button。次のように、AJAX 経由でロードするハイパーリンクのクラス名が であることを確認してくださいbutton

<a class="button" href="...">

すべてのハイパーリンクを AJAX 経由でロードする場合は、ボタン セレクターを削除します。

$(document).ready(function() {
  $('a').click(function() {
    ... ...
  });
});

別のスクリプトによるページの読み込み後に一部のハイパーリンクが動的に作成される場合は、次のことを試してください。

$(document).ready(function() {
  $('body').on('click', 'a', function() {
    ... ...
  });
});
于 2013-01-22T06:54:52.797 に答える