私は、部分的に AJAX を利用した小さな Web サイトに取り組んでいます。その一部では、ユーザーがボタンをクリックすると、コンテンツが要素に読み込まれます。問題は、要素に HTML を挿入するのではなく、要素 (#user .padded) を完全に削除することです! ただし、コンソール (Chrome) から実行すると問題なく動作します。
関連するコードは次のとおりです。
var attr = $(this).attr('data-id');
if (!$('#user').is(':visible')) {
$('#user').slideDown(300);
}
var user = $('#user');
$.ajax({
url: window.baseurl + "/admin/users/" + attr + "/get",
timeout: 5000,
cache: false
}).success(function(response) {
$('#user .padded').html(response);
}).fail(function() {
$('#user .padded').html('<div class="alert">Unable to load the user, we\'re sorry!</div>');
}).always(function() {
spinner.stop();
});
はい、現時点ではあまり効率的ではないことは認識していますが、デバッグ用に単純化しました。この場合、サーバー側がまだ実装されていないため、呼び出されるのは fail() 関数のみです。Javascript エラーは報告されず、404 のみが報告されます。
特定の状態をクリアする html() について何かを読んだので、slideDown(300) の代わりに show() だけを試しました。そこにも運はありません。
これを引き起こしている原因について何か考えはありますか?前:
後: