Javascript AJAX";错误:未调用回调";随机出现
我是ajax新手,我面临的问题是,任何可用的stackoverflow线程都无法解决。我有一个带有流名称的数组,我使用ajax通过TwitchAPI获得关于它们的详细信息。对于其中一些请求,我得到以下错误:Javascript AJAX";错误:未调用回调";随机出现,javascript,ajax,codepen,Javascript,Ajax,Codepen,我是ajax新手,我面临的问题是,任何可用的stackoverflow线程都无法解决。我有一个带有流名称的数组,我使用ajax通过TwitchAPI获得关于它们的详细信息。对于其中一些请求,我得到以下错误: Error: callback was not called at Function.error (VM11084 jquery.min.js:2) at b.converters.script json (VM11084 jquery.min.js:4) at Nb
Error: callback was not called
at Function.error (VM11084 jquery.min.js:2)
at b.converters.script json (VM11084 jquery.min.js:4)
at Nb (VM11084 jquery.min.js:4)
at A (VM11084 jquery.min.js:4)
at HTMLScriptElement.c (VM11084 jquery.min.js:4)
at HTMLScriptElement.dispatch (VM11084 jquery.min.js:3)
at HTMLScriptElement.q.handle (VM11084 jquery.min.js:3)
我发现生成的url(检查下面代码中的url变量)是正常的,当我将其粘贴到chrome的搜索栏中时,它会得到正确的结果。最令人困惑的是,它对streamsNames数组中的4个字符串正常工作,而对其他字符串,它确实返回此错误代码。我在谷歌上搜索了很多,但是我找不到合适的解决方案,也找不到对这种行为的解释
以下是代码的相关部分:
function updateStreamInfo() {
streamsNames.forEach(function getStreamsCurrentData(streamName) {
var url = 'https://wind-bow.glitch.me/twitch-api/streams/' + streamName;
console.log(url);
$.ajax({
url: url,
dataType: 'JSONP',
jsonpCallback: 'callback',
type: 'GET',
success: function (data) {
console.log(data);
var stream;
if(data.stream === null) stream = new Stream(streamName, "", "");
else stream = new Stream(streamName, data.stream.game, data.stream.channel.logo);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(thrownError);
}
})
})}
还有一件事:这一切都在codepen.io中运行,但我不知道这是否会对本例中的任何内容产生影响
有什么想法吗?您使用的是哪个版本的jQuery?JSONP(如前所述)要求使用服务返回的数据调用回调。ExplosionPills我使用jQuery 3.1.1 MikeMcCaughan和mkaatman我删除了JSONPCCallback:“回调”,现在它可以处理数组中的所有值。非常感谢你。然而,我仍然不明白为什么它对阵列的一半有效,而对另一半无效。若每个元素都失败了,那个么回调函数或连接显然有问题,但在本例中,它部分工作正常。无论如何,我很感谢你的帮助!