我对 ajax 很陌生,我遇到了问题,任何可用的 stackoverflow 线程都无法解决这个问题。我有带有流名称的数组,我使用 ajax 通过 Twitch API 获取有关它们的详细信息。对于其中一些请求,我收到以下错误:
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 中运行,但我不知道这是否对这种情况下的任何事情有任何影响。
任何想法可能是什么问题?