Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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 图片上传后php页面刷新不起作用_Javascript_Php_Jquery_Html - Fatal编程技术网

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();
?>