0

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

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

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

                that.result = links;
            }
        });

        return that.result;
4

1 回答 1

0
  1. 不要使用同步 ajax cals。
  2. 不要在过滤器中使用长时间处理 = 在每个 $digest 循环中都会调用过滤器,因此您在过滤器中的长同步 ajax 调用只会一次又一次地冻结浏览器。
于 2014-09-02T14:49:34.047 回答