繁体   English   中英

使用setInterval时ajax中的成功功能不起作用

[英]Success function in ajax when using setInterval doesn't work

好吧,我想每5秒检查一次来自服务器的答案。 但是我在$ .ajax中的成功功能不起作用。 尽管ajax发送请求并获得响应。 由于功能每5秒运行一次,并且在1秒钟内收到响应,因此没有超过时间限制。 如果我在$ .ajax之后在checkMyCreatedGame函数中放东西,它可以工作,但成功函数不能。

var checkMyGame;
checkMyGame =setInterval(checkMyCreatedGame,5000);
var checkMyCreatedGame = function(){
    $.ajax({
            url   :'../cgi-bin/lobby.py',
            type  :"GET",
            cache :false,
            data {
                "checkMyGameId":createdGameId,
                "player":playerName
            },
            dataType:"json",
            success:function(jsonData){
                console.log(jsonData)

            }
    });
};

这是我运行此代码时的Firebug控制台日志(不要注意上面获得的内容): 萤火虫

这是相同的屏幕截图,但是没有通过stackoverflow调整大小: https : //i.stack.imgur.com/e9HBa.png如您所见,成功功能内的console.log未执行。

在AJAX调用中,您告诉jQuery期望JSON数据:

dataType:"json",

然后,您的服务器返回非JSON数据:

waiting

jQuery然后尝试将其解析为JSON,并且毫不奇怪,它失败了。 如果您告诉jQuery期望文本代替,它将正常工作:

dataType:"text",

这样的消息是:如果发现AJAX调用静默失败,则放入error处理程序。如果存在,则将收到一条消息,告诉您您有parsererror

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM