调用 .load 后,dropzone 会保留旧图片并且不会刷新

After calling .load dropzone keeps the old picture and doesn't refresh

提问人:ubik 提问时间:1/9/2019 更新时间:1/11/2019 访问量:429

问:

我正在使用 https://www.dropzonejs.com 的 dropzone 上传一张图片。我正在使用 jquery 的命令 .load 加载一个 html 页面,如下所示:

$( "#showsettingsother" ).click(function() {
     $('#settingscontent').load('settingscompany.html', function() {
          Dropzone.autoDiscover = false;

          var myDropzone = new Dropzone($('.dropzone').get(0), {
            init: function() {                     
                   var me = this;

                  $.getJSON(webserverurl + '?sessionid=' + sessionkey + '&settings=true&company=checkCompanyPhotoExists', function( json ) {
                    if(json.STATUS == 'OK') {
                        var mockFile = { name: "Firmenlogo", dataURL: getcompanypicture, accepted: true };
                        me.createThumbnailFromUrl(mockFile, getcompanypicture);
                        me.files.push(mockFile);
                        me.emit('addedfile', mockFile);
                        me.emit('thumbnail', mockFile, getcompanypicture);
                        me.emit('complete', mockFile);
                    }
                  });
                },
                ... [shortened]
          }
        }
}

在settingscompany.html中,我有这个:

<form id="uploadCompanyPicture" action="" class="dropzone"></form>

现在我有这样的菜单:

<ul>
    <li id="settingscompany"><a id="showsettingscompany" href="#">Company settings</a></li>
    <li id="othersettings"><a id="showsettingsother" href="#">Other settings</a></li>
</ul>
<script>
      $( "#showsettingsother" ).click(function() {
           $('#settingscontent').load('othersettings.html'); 
      }
</script>

我的问题如下:

  1. 我将图片上传到放置区(image1.jpg)。这工作正常。
  2. 我将第二张图片上传到拖放区(image2.jpg)。这也很好用。
  3. 现在我点击“其他设置”,然后点击回到“公司设置”。
  4. 结果是,它显示的是 image1.jpg 而不是 image2.jpg。
  5. 当我重新启动浏览器时,它显示image2.jpg。

所以它显示了错误的图片。有没有人知道我做错了什么?

javascript jquery xhtml dropzone.js dropzone

评论

0赞 Arthur Z. 1/9/2019
名为 getcompanypicture 的变量是存储新图片路径还是旧图片路径?
0赞 ubik 1/9/2019
@Arthur Z.:getcompanypicture 是用于获取图片的 url 的变量。它始终是相同的,并且是显示图片的PHP脚本。所以它肯定是新图片,因为当我关闭浏览器并重新加载页面时,它显示了正确的图片。

答:

0赞 Danielle Lpz 1/11/2019 #1

我相信您没有回调您的下载图片或您用于获取第一张图像的函数。我的建议是你封装这个函数,当你改变图片时,你把它调回来,它会在你的命令下刷新。

我本来可以添加评论的,但我还不能。