Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs过滤器中的json解析导致无限循环_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript angularjs过滤器中的json解析导致无限循环

Javascript angularjs过滤器中的json解析导致无限循环,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个过滤器函数,可以进行同步ajax调用。函数的回调返回一个json对象,然后将该对象传递给filter函数的一个变量,该变量随后作为筛选结果返回。只有当ajax调用的数据类型设置为“json”时,才会进行ajax调用的无限循环。返回字符串时,没有无限循环 为什么这段代码放在过滤器函数中会导致递归无限循环 var result; that = this; $.ajax({ url: '/url/',

我有一个过滤器函数,可以进行同步ajax调用。函数的回调返回一个json对象,然后将该对象传递给filter函数的一个变量,该变量随后作为筛选结果返回。只有当ajax调用的数据类型设置为“json”时,才会进行ajax调用的无限循环。返回字符串时,没有无限循环

为什么这段代码放在过滤器函数中会导致递归无限循环

        var result;
        that = this;
        $.ajax({
            url: '/url/',
            async: false,
            dataType: 'json',
            type: 'get',
            success: function (links) {

                that.result = links;
            }
        });

        return that.result;
  • 不要使用同步ajax CAL
  • 不要在过滤器中使用长时间处理=过滤器在每个$digest周期中都被调用,所以过滤器中的长时间同步ajax调用只是一次又一次地冻结浏览器

  • 你能给出更多关于js和html的代码吗?你想问什么?也许我遗漏了什么,但这看起来不像是一个同步的AJAX调用-它看起来像是返回未定义的,然后稍后再进行设置。我修改了代码,将AJAX结果传递给父作用域的var。问题是一样的。