嗨,我正在使用php提交表单在表单提交点击我正在使用jquery打开一个新窗口。
打开窗户php表单提交后页面上,但是需要5到10分钟根据文件大小,因为我处理文件数据上传后的文件在我的本地主机用户上传和我想要的新标签页显示进度使用jquery ajax处理数据,但在新窗口选项卡ajax请求正在发送,但他们并没有被发送到服务器的chrome网络选项卡,如果我点击发送请求它显示我这
显示临时标题
表示服务器没有返回任何响应。
但是在表单提交完成并且文件数据被处理之后,jquery ajax请求返回状态200k和响应
这是我的表单提交新窗口打开代码使用jquery
$(".btnDataMigrate").click(function (e) {
var fileName = $("#filesToUpload").val();
var path = $(this).attr("data-popupUrl")
if(fileName) {
window.open(path,'Data Migrate Files Upload Status','width=800,height=800');
} else { // no file was selected
}
});
下面是jquery ajax请求代码
function fetch_files_progess(){
$.ajax({
type:'post',
url:base_path()+'/data_migration/fetch_completed_files',
data:{},
dataType:'json',
success: function(response){
$('#notice').html(response.result);
},
error: function(response){
}
});
}
fetch_files_progess();
setInterval(function(){fetch_files_progess();}, 9000);
请帮助我如何在表单提交过程中获得jquery ajax请求的响应。
另外,如果你打开了另一个localhost页面,那么也不要打开,直到表单提交正在进行中。
实际上我想在php表单提交过程中完成新选项卡上的进程文件状态。这就是为什么我在新选项卡上使用jquery ajax来查找处理过的文件状态。我在xampp localhost上。
谢谢
问题是服务器端仍在处理请求。如果我们使用PHP或ASP之类的东西处理会话数据,则会话数据将被锁定,直到ajax完成。因此,为了允许用户继续浏览网站,您必须调用session_write_close()。保存会话并解锁,以便等待继续的其他页面可以继续。如果不这样做,可能会有多个页面等待锁被删除。
使用<<p> strong> session_write_close()。您应该使用以下所述的配方 Sitepoint post
您应该不时地发出AJAX请求,并从会话中获得$_SESSION[$key]["bytes_processed"]
和$_SESSION[$key]["content_length"]
。并正确显示