我该怎么办才能通过进入for循环的ajax发出正确的对象

杜诺万特

问题是FOR继续执行,而ajax调用从URL检索数据,因此只有数组中的最后一个元素才采用数据。在这种情况下,如何将for与ajax调用同步?

   for(ii in scope.selMovies){
        for(jj in scope.selMovies[ii]){

            var title = scope.selMovies[ii][jj].title.replace(/\s*\(.*/, "");
            var yearMovie = scope.selMovies[ii][jj].title.match(/\(.*(20|19)[\d]{2}/)[0].replace(/[^\d]/g, "");

            http.jsonp(url + "&query=" + title + callb).
                success(function (data) { console.log( ii, jj, title, data.results );
                    for (k in data.results){
                        if(data.results[k].release_date.substr(0, 4) == yearMovie ) {
                            scope.selMovies[ii][jj].infoes = data.results[k];
                            break;
                        }
                    }

                }
            );

        }
    }
新开发者

你是否console.log(ii, jj, title, data.results)总是显示上次iijjtitle

问题不是在Ajax调用调用检索数据时for循环继续进行。问题是您的.success回调函数http.jsonp是一个循环内的闭包,因此它的行为不像天真的预期。

阅读此答案,以更好地了解正在发生的事情。

要解决您的特定情况,请执行以下操作:

function MakeSuccessFn(scope, ii, jj, yearMovie, title){
   return function (data) { 
     console.log( ii, jj, title, data.results );
        for (k in data.results){
          if(data.results[k].release_date.substr(0, 4) == yearMovie ) {
            scope.selMovies[ii][jj].infoes = data.results[k];
            break;
          }
        }

   };
}

然后在循环中,将您http.jsonp的内容更改为以下内容

http.jsonp(url + "&query=" + title + callb)
.success(MakeSuccessFn(scope, ii, jj, yearMovie, title));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我该怎么办呢?该怎么办?

来自分类Dev

我的ajax调用总是返回错误,该怎么办

来自分类Dev

封闭文件对象该怎么办?

来自分类Dev

Raspberry Pi我该怎么办?

来自分类Dev

意外升级,我该怎么办?

来自分类Dev

我该怎么办?教义关系

来自分类Dev

日期计数,我该怎么办?

来自分类Dev

我该怎么办才能解决“使用移动值”错误?

来自分类Dev

我该怎么办才能保护台式计算机上的数据免遭被盗的风险?

来自分类Dev

我该怎么办才能检索出屏幕外的窗口?

来自分类Dev

进入安全模式后该怎么办?

来自分类Dev

我的CNN Keras预测不正确,我也不知道该怎么办

来自分类Dev

从iPhone上传的Jcrop方向不正确,我该怎么办?

来自分类Dev

Heroku ACN(用于 SSL)失败 - 我的 DNS 是正确的。该怎么办?

来自分类Dev

如果我在存储过程中无限循环,该怎么办?

来自分类Dev

通过dexplore使用数据库预览时,我该怎么办?

来自分类Dev

如果我再次使用“最终化”对象,该怎么办?

来自分类Dev

我无法在appfabric缓存中存储大量对象,该怎么办?

来自分类Dev

在非对象上调用成员函数 bind_param()?那我该怎么办?

来自分类Dev

Erlang模式不匹配,但正确,该怎么办?

来自分类Dev

卡在无限While循环中,该怎么办

来自分类Dev

我的属性太不讲究了,我该怎么办?

来自分类Dev

我想运行“ HttpAsyncTask” ...我该怎么办?

来自分类Dev

我单击了病毒链接-我该怎么办?

来自分类Dev

该消息怎么办?

来自分类Dev

如果我的程序检测到几秒钟内将发生断电,该怎么办才能避免数据损坏?

来自分类Dev

销毁python对象时,该怎么办?

来自分类Dev

销毁python对象时,该怎么办?

来自分类Dev

psn参数由MacOSX启动。我该怎么办?

Related 相关文章

  1. 1

    我该怎么办呢?该怎么办?

  2. 2

    我的ajax调用总是返回错误,该怎么办

  3. 3

    封闭文件对象该怎么办?

  4. 4

    Raspberry Pi我该怎么办?

  5. 5

    意外升级,我该怎么办?

  6. 6

    我该怎么办?教义关系

  7. 7

    日期计数,我该怎么办?

  8. 8

    我该怎么办才能解决“使用移动值”错误?

  9. 9

    我该怎么办才能保护台式计算机上的数据免遭被盗的风险?

  10. 10

    我该怎么办才能检索出屏幕外的窗口?

  11. 11

    进入安全模式后该怎么办?

  12. 12

    我的CNN Keras预测不正确,我也不知道该怎么办

  13. 13

    从iPhone上传的Jcrop方向不正确,我该怎么办?

  14. 14

    Heroku ACN(用于 SSL)失败 - 我的 DNS 是正确的。该怎么办?

  15. 15

    如果我在存储过程中无限循环,该怎么办?

  16. 16

    通过dexplore使用数据库预览时,我该怎么办?

  17. 17

    如果我再次使用“最终化”对象,该怎么办?

  18. 18

    我无法在appfabric缓存中存储大量对象,该怎么办?

  19. 19

    在非对象上调用成员函数 bind_param()?那我该怎么办?

  20. 20

    Erlang模式不匹配,但正确,该怎么办?

  21. 21

    卡在无限While循环中,该怎么办

  22. 22

    我的属性太不讲究了,我该怎么办?

  23. 23

    我想运行“ HttpAsyncTask” ...我该怎么办?

  24. 24

    我单击了病毒链接-我该怎么办?

  25. 25

    该消息怎么办?

  26. 26

    如果我的程序检测到几秒钟内将发生断电,该怎么办才能避免数据损坏?

  27. 27

    销毁python对象时,该怎么办?

  28. 28

    销毁python对象时,该怎么办?

  29. 29

    psn参数由MacOSX启动。我该怎么办?

热门标签

归档