【问题标题】:Preview image isn't always reloaded using JQuery and the AJAX Upload jQuery plugin预览图像并不总是使用 JQuery 和 AJAX Upload jQuery 插件重新加载
【发布时间】:2011-08-01 16:24:27
【问题描述】:

我有一个可以上传图片的网站,我正在使用预览系统来显示所选图片。问题是图像有时会加载到预览 div,但其他时候它保持不变。但是,如果我点击刷新按钮,那么图像实际上会改变。因此,控制器动作肯定会被调用,它并不总是刷新预览图像。这是我的代码:

<img name="liga_r2_c3" src="/../images/ligasDeAmigos/prizes/<?php print $model->prize_photo?>" width="100" height="100" border="0" id="liga_r2_c3" alt=""/>

new AjaxUpload('liga_r2_c3', {
            action: 'uploadImage',
            data: {
                liga_id : liga,
                isPrize : 'true',
            },
            onComplete: function(file, response) {
                  var liga = $("#hidden_prize_picture").val();
                  var ruta = "/../images/ligasDeAmigos/prizes/"+liga+ '?rid=' + Math.random(); 
                  $('#liga_r2_c3').attr('src',ruta);
            }
        }); 

【问题讨论】:

    标签: php jquery-plugins jquery image-preloader


    【解决方案1】:

    考虑到 Math.random() 的可预测性,您确定没有遇到重复的随机值吗? Date.getTime 在这里会是一个更好的解决方案,因为它应该在刷新之间为您提供一个唯一标识符。

    <img name="liga_r2_c3" src="/../images/ligasDeAmigos/prizes/<?php print $model->prize_photo?>" width="100" height="100" border="0" id="liga_r2_c3" alt=""/>
    
    new AjaxUpload('liga_r2_c3', {
                action: 'uploadImage',
                data: {
                    liga_id : liga,
                    isPrize : 'true',
                },
                onComplete: function(file, response) {
                      var liga = $("#hidden_prize_picture").val();
                      var d = new Date();
                      var ruta = "/../images/ligasDeAmigos/prizes/"+liga+ '?rid=' + d.getTime(); 
                      $('#liga_r2_c3').attr('src',ruta);
                }
            }); 
    

    【讨论】:

    • 一开始我也有同样的想法,但是我存储并比较了我遇到的 Math.random 的前后值,它们实际上是不同的。 :s
    • 我的立场是正确的!我尝试了您的解决方案,但它不起作用,因为我在写它时错过了一个分号。它工作得很好。非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多