Javascript ajax304未修改语法错误

Javascript ajax304未修改语法错误,javascript,jquery,json,ajax,http-status-code-304,Javascript,Jquery,Json,Ajax,Http Status Code 304,我有一个单页javascript Web应用程序,我们从头开始开发(我知道我知道) 我们有一组集中的ajax默认值,它们的工作方式如下: Model.defaultsLoader = function(message, config, callback, async, delay){ if(typeof delay === "undefined"){ delay = 3000; } var loader = new Loader(delay, messag

我有一个单页javascript Web应用程序,我们从头开始开发(我知道我知道)

我们有一组集中的ajax默认值,它们的工作方式如下:

Model.defaultsLoader = function(message, config, callback, async, delay){
    if(typeof delay === "undefined"){
        delay = 3000;
    }
    var loader = new Loader(delay, message);
    defaults = {
        type: 'GET',
        beforeSend: function(jqXHR){
            var token = $("meta[name='csrf-token']").attr("content");
            jqXHR.setRequestHeader("X-CSRF-Token", token);
        },
        success: function(response){
            loader.stop();
            if(callback){
                callback(response);
            }
        },
        error: function(jqXHR, textStatus, errorThrown ){
            if (jqXHR.status === 401) {
                document.location = "/";
            }
            else if(!death && jqXHR.status !== 200) {
                loader.showError(textStatus + ": " + errorThrown);
                Support.bugReport(
                    account.email + ', ' +
                    message + ': ' +
                    textStatus + ': ' +
                    errorThrown);
            }
        },
        dataType: 'json',
        async: async
    };

    for(var param in config){
        defaults[param] = config[param];
    }

    return defaults;
};
我遇到的问题是,最近我们开始遇到问题,来自后端的304个未修改响应最终出现在错误处理程序而不是成功处理程序中。原因是“parseerror”。。。无论出于何种原因,JQuery试图在304响应(也就是“aka nothing”)上解析来自服务器的响应体。我知道空字符串不是有效的json,但我不理解为什么JQuery试图解析空字符串而不是加载缓存值。。。在某些情况下,这会在生产服务器上造成相当麻烦的行为

我已经包括了一个用于调试的打印输出的开发控制台屏幕截图。你必须原谅它是未展开的缩小代码


编辑:调试器显示的响应代码是200,而chrome开发工具显示的响应代码是304,这似乎也很奇怪。

在错误函数中,
console.log(参数)并粘贴输出。您正在针对缩小的版本进行调试吗?是否可以针对非精简版本进行调试?我有类似的问题(如果不是相同的话)$(.ajax)返回HTTP 304。即使在PHP端设置为标头(“Cache-Control:无缓存,必须重新验证”);还设置了var-request=$.ajax({url:urlink,cache:false})和相同的问题。。。其他人对此有任何更新吗?注意:正在尝试检索带有硬编码json数据的简单testdata.js文件。。。