进行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);
}
});
}
有没有解决方法,而无需修改功能?
解决方法:
等待直到ajax请求完成,然后再重定向到另一个页面.由于您在调用服务后立即重定向,因此请求中止,然后触发了错误处理程序,因此您正在从错误处理程序中看到警报消息.移动代码以在ajax成功回调内部重定向将起作用.
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);
}
});
}