0

MVC で Jquery を使用していますが、アンカー タグの onclick イベントに問題があります。これは、コントローラに AJAX 呼び出しを行う Javascript 関数を呼び出しています。

 <a id="LoginLink_@Model.DomainLibraries[i].Id" href=""  onclick="LoginLibrary(this);" domainLibId="130" HasRole="false" style="text-decoration:underline;">Login</a>

    function LoginLibrary(obj) {
        var selectedLibraryId = obj.getAttribute('domainLibId');
        var hasUserRole = obj.getAttribute('HasRole');
        $.ajax({
            type: "POST",
            url: "/Account/LoginLibrary",
            data: { domainLibraryId: selectedLibraryId, hasUserRole: hasUserRole },
            success: function (arg) {
                alert(arg);
                $("#divExAuthLibSetting").html(arg);
            },
            error: function (xhr, ajaxOptions, thrownError) {
            }
        });
    }

何が起こっているのかというと、ログインリンクをクリックすると、呼び出しがコントローラーメソッドに送られる前に、おそらく「alert(arg);」が原因で、値が空のアラートが表示されます。次に、呼び出しはコントローラーに行きます。しかし、コントローラーからの応答の後、引数に何も取得できません。

document.Ready() で関数 LoginLibrary() を呼び出すと、問題なく動作します。応答「arg」を取得してdivに表示できます。

クリック時にアンカータグでajax呼び出しが機能しないということですか..

4

0 に答える 0