【问题标题】:Handling error in ajax request in Select2在 Select2 中处理 ajax 请求中的错误
【发布时间】:2020-09-25 22:20:30
【问题描述】:

我需要在展开 Select2 组合框时检测用户会话是否消失。当这种情况发生时,响应被重定向到登录页面。

Select2 是使用 ajax 调用填充的,因此我将其添加到“ajax”参数中:

        transport: function (params, success, failure) {
                var $request = $.ajax(params);

                $request.then(success);
                $request.fail(function (jqXHR, textStatus, errorThrown) {
                    alert(errorThrown);
                });

                return $request;
            }

问题是报告的错误不是 XHR 格式(为了检测 401 HTTP 代码),而是一个错误告诉“SyntaxError: Unexpected end of JSON input”。

当使用 Chrome 开发者工具查看响应时,我确实看到响应是 XHR 格式,带有 401 HTTP 代码,但 Select2 以某种方式对其进行了转换。

有没有办法解决这个问题?

问候 詹姆

【问题讨论】:

    标签: jquery-select2-4


    【解决方案1】:
       ajax: {
        // ...
        error: function (jqXHR, status, error) {
            console.log(error + ": " + jqXHR.responseText);
            return { results: [] }; // Return dataset to load after error
        }
    }
    

    【讨论】:

    • 请避免仅使用代码的答案,并简要说明您的代码为何有效。
    猜你喜欢
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 2015-10-13
    • 2017-07-26
    • 2015-08-04
    • 1970-01-01
    • 2016-11-16
    相关资源
    最近更新 更多