0

我对 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 中运行,但我不知道这是否对这种情况下的任何事情有任何影响。

任何想法可能是什么问题?

4

0 回答 0