我有一个上传图像文件的表单,然后通过ajax成功更新数据库中的图像值。但是,当我尝试.load
回复上述图片代码的profile_pic.php
时,图片不会在网页上更新。我不想刷新页面。来自php的echo语句输出的是dom中已存在的相同src路径。我需要它保持这种方式。任何人都可以推荐更好的方法吗?
<div class="actor-profile-pic">
<img id="profilepic" src="uploads/jgunzblazin">
</div>
<form id="file-form" name="uploadpic" class="infoHeader" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="5242888" />
<input type="file" name="image" />
<input type="submit" name="uploadpic" value="Submit" />
</form>
$(document).ready(function(){
$("#file-form").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "actor_profile.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data){
$(".actor-profile-pic").load("../profile_pic.php #profilepic");
}
});
}));
});
答案 0 :(得分:0)
我认为成功上传和数据库插入后你的php文件会返回(echos)图片的 relative-path / filename (例如images / my-photo.jpg );最终传递给成功回调函数的数据变量。
在这种情况下,您还可以尝试:
success: function(data){
$(".actor-profile-pic img").attr("src",data);
}
请检查这是否适合您。
答案 1 :(得分:0)
因此,事实证明图像没有更新,因为我正在使用与/profile_pic.php相同的img src值更新img src标记。一旦我更改了文件名,图像就会成功更新。