ajax / php点击提交表单重定向但执行send.php

时间:2016-09-15 09:37:05

标签: php ajax forms

(抱歉我的英语不是我的母语)

简单的问题, 我可以执行php文件来处理表单数据(包括文件)但是重定向用户而不等待send.php文件的响应吗?

我的php进程中有很多文件上传,这意味着需要等待很长时间才能完成。我不希望用户等那么久......

目前我正在使用ajax来防止用户重定向到send.php,这使得php执行但用户仍在等待文件上传和php完成后调用“success”函数,这再次意味着用户等待永远...在成功之前重定向功能阻止php完成。

我想要的是第二个用户点击提交,在后台启动send.php并将用户重定向到另一个页面,甚至没有等待send.php文件的响应。

在我的php中检查错误并处理,以便用户甚至不需要知道任何错误。

(顺便说一句,一切都工作不满意)

我的ajax:

$(document).on('submit', '#myForm', function(e) {
                e.preventDefault();
                 $.ajax({            
                    url: $('#myForm').prop('action'),
                    type: $(this).attr('method'),
                    data: new FormData($('#myForm')[0]),
                    contentType: false,
                    processData: false,
                    success: function(data) {
                        alert('Form submitted');
                        window.location = "http://www.somesite.com/";
                    },
                    error: function() {
                        // The request failed - So something here
                        alert('Form NOT submitted'); //display an alert whether the form is
                        console.log('form not submited ERROR');
                    }
                });
            });

1 个答案:

答案 0 :(得分:0)

您必须等到文件上传完毕。 上传完成后,您可以启动后台进程(线程),例如,如果您必须操纵上传。 但PHP无法进行线程处理。