Ajax调用$ .ajaxSetup,beforeSend - Uncaught RangeError:超出最大调用堆栈大小

时间:2016-08-01 20:56:30

标签: javascript jquery ajax

我正在试图弄清楚如何在我的应用程序中运行任何其他Ajax请求之前快速发出Ajax请求来测试值。我希望避免在每个唯一请求中使用beforeSend,因此我尝试使用ajaxSetupajaxSend和其他人。

到目前为止,如果我正在做一些简单的事情,例如将测试消息记录到控制台,ajaxSetup看起来效果很好,但是当我在下面引入$.ajax请求时,它会导致错误Uncaught RangeError: Maximum call stack size exceeded在控制台中。

在加载此特定页面时,只有一个Ajax请求,并且只有大约5-6个其他绑定按钮点击。但是只要页面加载就会发生这种情况。

像这样“嵌套”Ajax请求是不合适的?

$.ajaxSetup({
    // console.log("inside setup") <-- this will log thousands of messages in the console.
    beforeSend: function() {
        $.ajax({
            type: "GET",
            url: "<?php echo $apiBaseUrl . "/" . $_SESSION['calendar_id'] ?>/crossover",
            dataType: "json",
            success: function (data) {
                if (data.error) {
                    showCrossoverPrompt();
                }
            }
        });
    }
});

我正在使用jQuery 1.8.2,目前无法升级。

0 个答案:

没有答案