setInterval调用ajax回调函数不执行的问题

setInterval调用ajax回调函数不执行

1、首先检查你的setInterval()函数写法是否正确

参考写法

// 检查是否支付成功
var isPayRequest=false;
var payResult="";
var interval = setInterval(function(){
    if(payResult=="ok"){
        clearInterval(interval);
    }
    if(isPayRequest) {
        $.ajax({
            url: "/weixin/payResult",
            type: "POST",
            dataType: "text",//ajax接口(请求url)返回的数据类型
            success: function (data) {
                payResult=data;
                if (data=="ok") {
                    errerInformation("微信支付成功!","/project/business");
                }
            }
        });
    }
}, 3000);

 2、检查你的后台controller返回的值类型是否与ajax中申明的返回类型一致。

 比如你的后台返回的是一个Object,而ajax中dataType: "text"肯定是接收不到的,因此success回调函数不执行。

原文地址:https://www.cnblogs.com/zeussbook/p/10859808.html