从后台传过来的图片地址,attr到img上,页面刷新src就没了

dillonl
  • 4
新手上路,请多包涵

Node处理好上传的图片,并把路径保存到mysql中并res.send()给前端,也储存到localStorage中,但是页面刷新img就没了??求大神告知!!!

$.ajax({
         url: "/picture",
         type: "POST",
         data: formdata,
         dataType: "json",
         processData: false, // jQuery不要去处理发送的数据
         contentType: false,
         success: function (data) {
              console.log(data)
              if (data.code < 0) {
                  $("span").text(data.msg)
               }
                  $("span").text(data.msg)
                  localStorage.setItem("src", data.urls)
                  var localSrc = localStorage.getItem("src")
                    $('.imgbox img').attr('src', localSrc);
                },
                error: function (err) {
                    console.log("服务器错误!", err);
                    $("span").text("服务器错误,请重新上传!")
                }

            })
        } else {
            alert("请选择一张正确的图片并且大小不能大于4M")
        }

QQ截图20200204221051.pngQQ截图20200204221106.pngQQ截图20200204221121.png

回复
阅读 795
1 个回答
✓ 已被采纳

刷新当然就没了。
你需要在 script 中添加:

var localSrc = localStorage.getItem("src")
$('.imgbox img').attr('src', localSrc);

当页面刷新后获取本地图片。

简单示例:

<script>
// 你的初始化操作
// ...
// 初始化时获取本地数据
var localSrc = localStorage.getItem("src");
$('.imgbox img').attr('src', localSrc);

// 事件
$('.upload-btn').click(function() {
  // 你的上传图片事件
  $.ajax({
    // 你的 ajax 操作
  });
});
</script>
你知道吗?

宣传栏