ERR_INSUFFICIENT_RESOURCES

客户远程访问,在提交数据网页突然间就冒出ERR_INSUFFICIENT_RESOURCES报错提示,无论是刷新还是重新打开浏览器都无法访问一直提示ERR_INSUFFICIENT_RESOURCES。直到清除一下浏览器缓存才解决,由于多次没能复现成功。不确定是否是Ajax请求的问题。请问有小伙伴遇到吗?真的是浏览器内存溢出?

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    对于ERR_INSUFFICIENT_RESOURCES错误,有几种可能的原因和解决方法:

    1. 浏览器缓存问题:根据你的描述,清除浏览器缓存后问题解决,这可能是由于浏览器缓存中的某些数据引起的。建议使用浏览器的开发者工具(通常可以通过按F12键或右键单击页面并选择"检查"来打开)来检查网络请求并查看是否有未被正确缓存的资源或缓存设置有误。可以在代码中添加缓存控制的头部信息,例如设置Cache-Control、Expires等字段,来控制浏览器如何缓存页面和静态资源。

    示例代码:

    // 在服务端设置响应头部,指定缓存时间
    res.setHeader('Cache-Control', 'public, max-age=604800'); // 一周过期
    res.setHeader('Expires', new Date(Date.now() + 604800000).toUTCString());
    
    // 或者在前端通过meta标签来设置缓存
    <meta http-equiv="Cache-Control" content="public,max-age=604800">
    <meta http-equiv="Expires" content="Sat, 22 Feb 2023 11:12:01 GMT">
    
    1. Ajax请求问题:你怀疑可能与Ajax请求有关。在进行Ajax请求时,可能存在未正确处理或关闭的问题,导致资源无法正确释放。可以通过以下方法来检查和解决这个问题:

    2. 确保在每次请求完成后,都正确地关闭Ajax请求,释放资源。可以在每次请求的回调函数中调用xhr.abort()方法来关闭请求。

    示例代码:

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "your-url");
    xhr.onload = function() {
      // 处理返回数据
    };
    xhr.onerror = function() {
      // 处理请求失败情况
    };
    xhr.send();
    
    // 在适当的地方关闭请求
    xhr.abort();
    
    • 如果使用了第三方库进行Ajax请求,例如jQuery的$.ajax方法,可以添加xhrFields: { withCredentials: true }来确保请求正确关闭。同时,如果使用了$.ajax全局设置,也要确保全局设置没有影响到这个特定请求的关闭。

    示例代码:

    $.ajax({
      url: "your-url",
      type: "GET",
      xhrFields: { withCredentials: true },
      success: function(data) {
        // 处理返回数据
      },
      error: function(xhr) {
        // 处理请求失败情况
      }
    }).done(function() {
      // 请求完成时关闭
      this.xhr && this.xhr.abort();
    });
    
    1. 内存溢出问题:你也怀疑这个错误可能由于浏览器内存溢出引起的。对于这个问题,建议检查代码或第三方库中是否有内存泄漏的情况,例如使用了大量的事件监听器、大量的定时器等,导致内存不断增加。可以使用浏览器的开发者工具的"内存"选项卡来进行内存分析和排查。

    示例代码:

    // 使用事件委托来减少事件监听器的数量
    document.addEventListener('click', function(event) {
      if (event.target.matches('.your-element-class')) {
        // 处理点击事件
      }
    });
    
    // 注意清除不再需要的定时器
    var timer = setInterval(function() {
      // 定时器逻辑
      clearInterval(timer); // 清除定时器
    }, 1000);
    

    如果你觉得以上方法不适用于你的情况或不能解决问题,建议考虑以下几点:

    • 联系其他用户:可以在相关的技术论坛或社区中询问是否有其他用户也遇到过类似的问题,看看他们是如何解决的。可以参考他们的解决方案来尝试解决你的问题。

    • 日志和错误追踪:如果你有机会重新复现错误,可以尝试在浏览器控制台中查看是否有相关的错误信息或警告。可以通过错误追踪工具(例如Sentry、Bugsnag等)来收集和分析错误信息,以便更好地定位和解决问题。

    综上所述,以上是一些常见的解决ERR_INSUFFICIENT_RESOURCES错误的方法。希望对你有所帮助!


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

修改hosts文件,将*.googleapis.com域名指向了127.0.0.1,屏蔽