search

Home  >  Q&A  >  body text

javascript - 为什么用ajax加载的图片不会缓存

今天用ajax加载了图片,但是发现第二次去调用的时候还是200,而不是304.
比如我ajax加载了图片,然后再把地址放到的src里面去。。

黄舟黄舟2902 days ago225

reply all(2)I'll reply

  • 阿神

    阿神2017-04-10 14:56:13

    $.ajax({
        method: 'GET',
        url: '图片地址',
        cache: false,
        success: function () {
            $('图片节点').attr('src', '图片地址');
        }
    });
    

    先用ajax预加载一遍,注意cache属性设置为false,加载完之后赋值图片的src属性的时候就能用的上缓存了。

    reply
    0
  • 迷茫

    迷茫2017-04-10 14:56:13

    ajax 请求你听不到 30X 的, 都会处理成 200 好像.

    可以用 new Image().src = '...'; 来预加载. 不过更稳当的方式是, 放一个图片到文档中看不见的地方 (避免内存缓存被清空). 比如 position: absolute; height: 0; overflow: hidden; 的 p.

    reply
    0
  • Cancelreply