0

我有以下代码:

阿贾克斯:

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