当 PHP 中的 Ajax 调用打开时,如何从一个页面转到另一个页面?



重定向到PHP中的另一个页面后如何继续运行ajax调用?

当 PHP 中的 Ajax 调用打开时,如何从一个页面转到另一个页面?

我的ajax调用正在执行一项非常复杂的任务,这将需要很长时间那么,是否可以在页面重定向运行ajax调用?

我在单击提交按钮时进行ajax调用,然后该页面重定向到另一个页面,然后我的ajax调用是继续在后端运行
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<title></title>
</head>
<body>
<input type="text" name="altname" id="altname">
<button id="btnSubmit">Submit</button>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
$(document).on('click','#btnSubmit',function(){ 
var altname = $("#altname").val();
$.ajax({
url:"http://localhost/z/backend-queue-job-php/queue_job.php",
type:"POST",
data:{altname:altname},
success:function(result)
{   
alert(result.msg);
}
});
window.location.href = "http://localhost/z/backend-queue-job-php/thankyoupage.php";
});
}); 
</script>

在后台运行 PHP 脚本的更简单方法是使用 exec 或 shell_exec

您可以在通过 ajax 调用的 php 文件中运行以下函数,如果要存储日志信息,请使用日志路径传递当前脚本的路径:

shell_exec("/path/to/php /path/to/queue_job.php > /path_to_log/debug.log 2>&1");

它只能在 PHP 部分中使用异步任务来完成。

  • 为每个任务分配一个 ID
  • 您的 ajax 将创建新任务或获取现有任务的状态

相关内容

  • 没有找到相关文章

最新更新