我有以下代码:
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调用?