2

以前に AJAX で読み込まれたコンテンツ内にコンテンツを読み込もうとしました。コードを入れました

load() を使用:

jQuery("#contentpage").on("submit", "#loginform", my = function() {
    $("#contentpage").load("/logincheck.jsp");
    alert("this is required ");
});

$.ajax() を使用:

jQuery("#contentpage").on("submit", "#loginform", function() {

    $.ajax({
        url: '/logincheck.jsp',
        success: function(data) {
            $('#contentpage').html(data);
        }
    });

    alert("this is required ");
});

#loginform以前の AJAX リクエストで読み込まれた HTML フォーム.on()です。関数で正常にアクセスできました。

しかし、問題は、ボックスを配置せずに送信すると、#loginform ページalert('this is required')全体が更新されることです。また、中身#contentpageも変わりません。

しかし、入れて同じことをすると、問題なく動作し、ページ全体を更新せずalert("this is required")にコンテンツが読み込まれます。#contentpage

これはタイミングの問題ですか?Ajax リクエストは時間がかかり、非同期ですか? 間違っている場合は修正してください。

4

2 に答える 2

5

これを試しましたか?

        jQuery("#contentpage").on("submit","#loginform",my=function(event){ 
             event.preventDefault();
             $("#contentpage").load("/logincheck.jsp");
             alert("this is required ");
        });

これにより、少なくともページの更新が停止し、他の問題も解決される可能性があります。幸運を!

于 2012-09-08T15:52:10.220 に答える
-1

非同期キーはデフォルトtrueであり、これを次のように変更する必要がありますfalse

$.ajax({
    async:false,
    url: '/logincheck.jsp',
    success: function(data) {
        $('#contentpage').html(data);
    }
});
于 2016-12-16T06:13:53.257 に答える