微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-重定向后的jQuery AJAX调用给出错误

进行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);
    }
  });

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐