Когда вызов ajax завершается успешно, выполняется функция обратного вызова. Функция в функции обратного вызова никак не работает.
Мой код:
sendAjax(url, data, method, async, callBackFn, IgnoreException) {
$.ajax({
type:method,
async:async,
url:url,
data:data
timeout:timeout,
beforeSend:function(xmlHttpRequest) {
xmlHttpRequest.setRequestHeader("AJAX", "true");
},
success:function(data) {
try {
var responseText = $.parseJSON(data);
if (responseText.error_code && !IgnoreException) {
alert(responseText.error_msg);
var fnName = responseText.LOGIN||{};
if (typeof window[fnName] == 'function') {
var args = responseText.LOGIN_PARAM||{};
window[fnName](args);
}
} else {
callBackFn($.parseJSON(data));
return;
}
} catch(e) {
~~~~~~~~~
} finally {
}
}
})
}
.
,
,
.
sendAjax("mo/serviceAction.do", $("#form").serialize(), "post", true, callback);
.
,
,
.
function callback(param) {
alert("Here!");
location.href = "intent://host¶ms#intent;scheme='scheme';package=package";
}
Однако, если функция, которая не была выполнена после вызова ajax, выполняется как событие click для тега кнопки, location.href выполняется ...
Но оповещение («Здесь!») Работает !!
Почему две ситуации разные?
А что, если я хочу запустить location.href прямо в обратном вызове?