0

次のコードがあります。

AJAX:

function GetLoggedInUserName() {
    var username = null;
    $.ajax({
        url: 'Login.aspx/GetLoggedInUserName',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        async: false,
        dataType: "json",
        data: '{ }',
        success: function(Result) {
            if (Result != "") {
                var ClientResponse = JSON.parse(Result.d);
                alert("res: " + ClientResponse.Success);
                alert("data:" + ClientResponse.Data);
                if (ClientResponse.Success) {
                    username = ClientResponse.Data;
                }

                else {
                    showDialog('indicator', {
                        message: ClientResponse.Message,
                        type: 'error'
                    }, false);
                }
            }
        },
        error: function(xhr, textStatus, errorThrown) {
            showDialog('indicator', {
                message: 'An error occured in GetLoggedInUserName',
                type: 'error'
            }, false);
        }
    });

return username;

}

使用する:

        var loggedInUser = GetLoggedInUserName();

        alert(loggedInUser);

このコードを PC で実行すると、すべて正常に動作します。IPAD (safari/chrome) でこのコードを実行すると、アラートに「null」が表示され、ajax 呼び出し内にあるアラートが表示されます。

                alert("res: " + ClientResponse.Success);
                alert("data:" + ClientResponse.Data);

したがって、async: false は実際には IPAD では機能しないと思います。本当ですか?IPAD で同期 ajax 呼び出しを使用する方法はありますか?

4

0 に答える 0