gpt4 book ai didi

javascript - 使用 setInterval 时 ajax 中的成功函数不起作用

转载 作者:行者123 更新时间:2023-11-29 19:45:33 26 4
gpt4 key购买 nike

好吧,我想每 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 控制台日志(不要注意那些 gets 上面的内容): firebug

这是相同的屏幕截图,但未通过 stackoverflow 调整大小:/image/e9HBa.png如您所见,success 函数中的 console.log 未执行。

最佳答案

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

dataType:"json",

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

waiting

然后 jQuery 尝试将其解析为 JSON,不出所料,失败了。如果你告诉 jQuery 期待文本,它会工作正常:

dataType:"text",

消息是:如果您发现 AJAX 调用无声地失败,请放入一个 error 处理程序。如果有,您会收到一条消息,告诉您您有一个解析器错误

关于javascript - 使用 setInterval 时 ajax 中的成功函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20019889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com