Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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
Php 如何在后台运行大型处理?_Php_Javascript_Forms - Fatal编程技术网

Php 如何在后台运行大型处理?

Php 如何在后台运行大型处理?,php,javascript,forms,Php,Javascript,Forms,我开发了分析数据的应用程序,即域名。当用户提供10个域时,下面的javascript代码工作正常,但当用户开始分析100个域时,下面的代码不工作。我使用javascript在表单提交3秒钟后重定向到另一个页面,因为处理分配任务至少需要1分钟的时间 function submitForm(){ document.form1.button2.click(); var t=setTimeout("redir()",3000); } function redir(){

我开发了分析数据的应用程序,即域名。当用户提供10个域时,下面的javascript代码工作正常,但当用户开始分析100个域时,下面的代码不工作。我使用javascript在表单提交3秒钟后重定向到另一个页面,因为处理分配任务至少需要1分钟的时间

function submitForm(){
        document.form1.button2.click();
    var t=setTimeout("redir()",3000);
    }
  function redir(){

       window.location.href = '<?php echo base_url();?>menu/showmsg';

  }
函数submitForm(){
document.form1.button2.click();
var t=setTimeout(“redir()”,3000);
}
函数redir(){
window.location.href='menu/showmsg';
}
当它是一个小任务时,它工作得很好,但若有一个大文件要处理,javascript就不能工作,它会等到任务从PHP端完成。
AJAX或JQUERY中是否有任何选项,JavaScript中是否有任何最佳代码?

一个简单的方法是在运行php的目标页面中使用iframe。页面将被加载,iframe将等待php页面。您可以使用一些javascript来检查iframe中的更改或标志,以便继续进程

您可以使用jQuery.ajax(url[,settings])等异步发送所有请求

文件如下:

$.ajax({
url:'menu/showmsg',
错误:函数(){
返回true;
},
成功:函数(msg){
//做你想要的
}
});

您能再详细解释一下吗?根据你写的,我不确定问题出在哪里。js需要很长时间吗?php?保持同步有问题吗?我真的不知道。谢谢。我已设置忽略用户中止(true);在PHP代码中。我希望它在后台处理,但当我们提交表单进行处理时,它会重定向到另一个带有消息的页面。尽管看起来你们找到了一个解决方案。我建议改为建立一个工作队列。我想从长远来看这会有帮助。我还没有找到解决办法。上面的代码只适用于小数据,我的问题是大数据。当我开始处理上面的大数据时,javascript不起作用。不要等待作业完成,而是实现一种异步机制,在该机制中,您可以向队列中添加一个作业(应该是快速的),并在适当的位置设置另一个系统,您可以询问特定作业是否准备就绪。队列应该完全独立于此工作。
$.ajax({
    url: '<?php echo base_url();?>menu/showmsg',
    error: function(){
        return true;
    },
    success: function(msg){ 
        // make what do you want
    }
});