[英]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.