Javascript 图片上传后php页面刷新不起作用
用户上传完个人资料图片后,如何自动刷新页面? 一旦用户刷新页面,图片就会更新,但是我想强制刷新页面 我正在上传文件并更新数据库,如下所示:Javascript 图片上传后php页面刷新不起作用,javascript,php,jquery,html,Javascript,Php,Jquery,Html,用户上传完个人资料图片后,如何自动刷新页面? 一旦用户刷新页面,图片就会更新,但是我想强制刷新页面 我正在上传文件并更新数据库,如下所示: $query="UPDATE users set image='".$username_db."_n.gif' where user_name='$username_db'"; mysqli_query($con,$query); 在这之后,我想要一个刷新代码 我尝试了几种方法: echo "<script type='text/javascript
$query="UPDATE users set image='".$username_db."_n.gif' where user_name='$username_db'";
mysqli_query($con,$query);
在这之后,我想要一个刷新代码
我尝试了几种方法:
echo "<script type='text/javascript'>$('.display_picture_image').attr('src', '".$src."?".time()."');<scipt>";
exit;
然后
然后
然后
提交图片后,来自的代码
upload.php
被执行。然后上传图片,然后
echo '<script type="text/javascript">$(window).on("load",function(){window.top.window.showcrop("'.$target_file.'","'.$username_db.'","'.$imageFileType.'");});</script>';
然后执行crop.php,上传裁剪后的图片并更新数据库。最后,刷新代码被写入但不起作用。服务器端: 注意:上传文件并更新数据库后,请输入以下代码:
header("Refresh: 300;url='REDIRECTION URI'");
浏览器将在300秒后重定向。虽然可以在浏览器的配置中禁用它,但通常不会禁用它
客户端:
location.reload();
好吧,我自己找到了答案。在我的crop_photo.php文件中
$.ajax({
url: 'crop_photo.php',
type: 'POST',
data: {x:x_, y:y_, w:w_, h:h_, photo_url:photo_url_, username:username_, fileTypeImage:fileTypeImage_, targ_w:TARGET_W, targ_h:TARGET_H},
success:function(data){
// display the croped photo
}
});
在上面的代码中,我没有提到任何内容
success:function(data){
//display the cropped photo
}
虽然这就是php要回显的地方。
所以我把它编辑成
success:function(data){
//display the cropped photo
$('#image_div').html(data);
}
这样,我在php中呼应的任何内容都被放在带有idimage\u div的分区中。
然后我回了声
echo '<script>window.location='redirectbackurl.php'</script>';
echo'window.location='redirectbackurl.php';
它重定向到redirectbackurl.php,重定向回上一个链接。
myredirectbackurl.php的代码
<?php
header("Location:".$_SERVER['HTTP_REFERER']);
exit();
?>
现在我明白了,我可以简单地使用location.reload(),但由于表单重新提交问题,我这样做了。当数据库更新后,您可以在客户端执行此操作:发布更多代码。更新图片后,您在哪里运行这些刷新尝试?为了达到您的目标,您可以使用WebSocket。@GeraldSchneider…我发布了代码。@jrenk…您可以详细说明一下吗?我尝试过这样做:
echo“location.reload();”代码>但它不起作用。并且标头也不起作用。@bayblade567,试试这个:echo“window.location='您的URL';如果您还有任何问题,请告诉我!echo语句根本没有被执行,因为当我检查元素时,我没有看到这样的脚本,页面也没有刷新。您认为这是一个逻辑错误吗?未执行echo语句意味着您的页面有错误,请先启用错误报告并检查页面上的错误!嗯…我正在使用wamp服务器…所以我可以点击php,它会显示php错误日志。在那边。。。
header("Refresh: 300;url='REDIRECTION URI'");
location.reload();
$.ajax({
url: 'crop_photo.php',
type: 'POST',
data: {x:x_, y:y_, w:w_, h:h_, photo_url:photo_url_, username:username_, fileTypeImage:fileTypeImage_, targ_w:TARGET_W, targ_h:TARGET_H},
success:function(data){
// display the croped photo
}
});
success:function(data){
//display the cropped photo
}
success:function(data){
//display the cropped photo
$('#image_div').html(data);
}
echo '<script>window.location='redirectbackurl.php'</script>';
<?php
header("Location:".$_SERVER['HTTP_REFERER']);
exit();
?>