Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新加载页面以反映更改_Javascript_Jquery - Fatal编程技术网

Javascript 重新加载页面以反映更改

Javascript 重新加载页面以反映更改,javascript,jquery,Javascript,Jquery,我有我的jquery代码 .ajax({ type: "POST", url: "crop/crop.php", data: dataString, cache: false, success: function(data){ $('#popupMargin').hide(); $('#avatar img').r

我有我的jquery代码

.ajax({
            type: "POST",
            url: "crop/crop.php",
            data: dataString,
            cache: false,
            success: function(data){
                $('#popupMargin').hide();
                $('#avatar img').remove();
                $('#avatar').load('crop/dp.php');
                //$('#avatar').hide();

            }
        });
现在

//上面jQuery调用的加载文件(`dp.php`)中的代码
/img/dp.jpg“width=“150”>
每当我点击一个按钮
#btn
时,就会调用上面的ajax。文件
crop.php
裁剪一个图像,并将其保存在与上面在
dp.php
中看到的相同位置和相同名称

这意味着,每次用户单击按钮
#btn
,图像都会发生更改。我希望将更改反映为
$('#avatar')。load('crop/dp.php');
在上面的jQuery代码中被调用;但是,我不确定旧图像是否仍然显示在某种缓存中


.load()
是否重新加载页面?如何确保显示更改(更新的图像)而不是旧图像???

尝试
$\u SESSION
变量的
var\u dump
,以确保它在PHP代码中更改


确保在
crop/crop.php
crop/dp.php
中,您的代码顶部都有
session\u start()

我建议添加:

'?foo='+Math.random();

这是一个很好的方法,可以确保您始终看到文件的最新版本(例如,通过每次为url提供不同的参数,您可以保证绕过任何缓存).

如果您担心缓存,可以将时间戳作为GET参数附加到ajax请求中。这通常会迫使浏览器下载新副本

 $('#avatar').load('crop/dp.php?' + (new Date().getTime()));
此外,如果$_会话['userId']在请求之间保持不变,那么强制重新加载实际的jpg也不会有什么坏处

<img src="users/<?php echo $_SESSION['userId']; ?>/img/dp.jpg?<?php echo time(); ?>" width="150">
/img/dp.jpg?“width=“150”>

希望对您有所帮助。

尝试
$\u SESSION
变量的
var\u dump
,以确保它已更改SESSION变量是静态的。。没什么事可做。您可以假定图像的路径为
users/10/img/dp.jpg
。因此,下次有人单击#btn时,它会用新的图像文件重写图像文件。然后,通过我的jquery调用
$('#avatar').load('crop/dp.php
),我希望在
.load()
加载
dp.php
时会显示新图像。我能不能用相同的路径重新加载图像?通过ajax重新加载
<img src="users/<?php echo $_SESSION['userId']; ?>/img/dp.jpg?<?php echo time(); ?>" width="150">