执行AJAX调用后,使用以下代码重定向。但是,在AJAX完成后,它会给出错误警报;然后它重定向。
callService($serviceUrl, $serviceName, 'POST');
//redirecting to nextpage
window.location.href = "nextPage.html";
function callService($serviceUrl, $serviceName, $method) {
......
$.ajax({
url : $serviceUrl,
dataType : "json",
type : $method,
data : $requestData,
success : function (data) {
switch($serviceName) {
case 'getTopRated': populateTopRated(data);
break;
case 'GetLatestScoop': populateLiveScoop(data);
break;
.....
}
$.mobile.pageLoading(true);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error");
$.mobile.pageLoading(true);
}
});
}
有没有办法在不修改功能的情况下解决它?
答案 0 :(得分:3)
等到ajax
请求完成后再重定向到另一个页面。由于您在调用service
request
aborts
之后重定向,然后触发error
处理程序,因为您看到来自错误处理程序的alert
消息。移动代码以重定向ajax
success
内部回调它将起作用。
function callService($serviceUrl, $serviceName, $method) {
......
$.ajax({
url : $serviceUrl,
dataType : "json",
type : $method,
data : $requestData,
success : function (data) {
switch($serviceName) {
case 'getTopRated': populateTopRated(data);
break;
case 'GetLatestScoop': populateLiveScoop(data);
break;
.....
//redirecting to nextpage
window.location.href = "nextPage.html";
}
$.mobile.pageLoading(true);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error");
$.mobile.pageLoading(true);
}
});
}