从后台传过来的图片地址,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

回复
阅读 730
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>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏