Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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 在ajax调用后更新图像_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 在ajax调用后更新图像

Javascript 在ajax调用后更新图像,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有一些问题 单击我用ajax旋转图像并保存新图像。一切都没有页面刷新。 问题是,旧映像不会刷新并放入新的刷新映像 另外,新图像与旧图像具有相同的名称 问题 我的问题是如何在不刷新页面的情况下从文件夹更新img?仅在单击类slika rotiraj之后 HTML: <div class="slika"> <div class="slika-obrisi"></div> <div class="slika-rotiraj"></

我有一些问题

单击我用ajax旋转图像并保存新图像。一切都没有页面刷新。 问题是,旧映像不会刷新并放入新的刷新映像

另外,新图像与旧图像具有相同的名称

问题

我的问题是如何在不刷新页面的情况下从文件夹更新img?仅在单击类slika rotiraj之后

HTML:

<div class="slika">
    <div class="slika-obrisi"></div>
    <div class="slika-rotiraj"></div>
    <img src="uploads/87b6f334f30717343acd69f3962142a0_542ad975e424d.jpg" />
</div>

为标记指定一个id,并在ajax调用的success函数中设置'src'属性的值

HTML

<div class="slika">
    <div class="slika-obrisi"></div>
    <div class="slika-rotiraj"></div>
    <img id="myimage" src="uploads/87b6f334f30717343acd69f3962142a0_542ad975e424d.jpg" />
</div>

如果图像始终具有相同的名称,请尝试以下操作:

$('.slika img').attr('src', 'new path to image');
否则:

$('.slika img').attr('src', 'new path to image' + '?_=' + new Date().getTime()); 

您的意思是图像已更改服务器端,您只想强制
img
标记获取图像的新状态吗?只需设置
src
即可实现:

success: function(data) {
    // which is your image?  "slika2"?
    // it's not really obvious, so I'll assume that for now
    $(slika2).attr('src', slika);
}
如果这不是刷新映像,您可以添加一个“缓存断路器”来强制它重新请求。像这样简单的事情:

success: function(data) {
    $(slika2).attr('src', slika + '?' + new Date().getTime());
}

这不会影响任何事情,只会无害地更改URL并强制浏览器从服务器重新请求。

谢谢您的回答,我很感激,但不起作用,它不会刷新image@NebojsaSapic从PHP脚本(rotiraj.PHP)返回什么?你能把它添加到你的问题中吗?我很感激你的回答,这个带日期的只有在第一次点击时才起作用,我将图像旋转90度,所以它第一次显示我的图像,但在下一次旋转时,不会show@NebojsaSapic:进行一点调试。具体在哪里失败?代码中是否调用了第二次单击事件?是否发出了AJAX请求?服务器的响应是什么?这行代码是否已到达?新请求是否具有与预期不同的URL?请具体说明。当我添加日期时失败,因为文件夹中的图像没有该日期,当我第二次单击“旋转”时,php无法打开流,因为?+中的新日期().getTime()name@NebojsaSapic:在这种情况下,对URL的更改对服务器端资源来说应该无关紧要。将忽略任何意外的查询字符串值。我怀疑你没有表现出别的问题。不要只是假设出了什么问题,调试它。检查您看到的具体错误。我是对的,我修复了它,因为新的img src带有?+new Date(),而在文件夹中没有,我只是拆分了“?”并在“?”之前全部取下,现在它工作得很好。谢谢!!!
success: function(data) {
    // which is your image?  "slika2"?
    // it's not really obvious, so I'll assume that for now
    $(slika2).attr('src', slika);
}
success: function(data) {
    $(slika2).attr('src', slika + '?' + new Date().getTime());
}