gpt4 book ai didi

javascript - PHP 进程阻止页面完全加载和显示

转载 作者:行者123 更新时间:2023-12-02 14:12:09 26 4
gpt4 key购买 nike

请耐心等待,我将尝试解释这个问题,我相信其他人也遇到过这个问题,但在网络上找不到任何解决方法。

第 1 页(使用 Ajax 的 PHP 页面)目的是收集数据并重定向到下一页以显示更新页面,即

window.location.replace("Updating.php"); <-- This is Page 2 

第 2 页(包含少量 html 和 PHP 脚本的 PHP 页面,用于更新服务器数据库)问题是该页面只有在 PHP 脚本完成后才会完全呈现。因为该过程可能需要大约 10 秒左右的时间,所以用户会想知道发生了什么,并且本质上更新页面(第 2 页)在脚本完成之前不会呈现,这当然违背了目的。

问题

有没有类似javascript onload的功能<body onload="myFunction()">可以在脚本开始运行之前渲染页面。我认为不存在,但我会感激并了解如何克服这个问题。

谢谢

编辑以添加请求的 AJAX 代码

function handleDataCallback(result) {
var json = eval('(' + result + ')');
if (json['msg'] != "") {
// alert(json['dirID']);
processUpload(json['dirID']);
}
};
/*
* This is called when uploadFile.js is finished.
* We many need to add an AJAX WaitforID here in case the processUpload takes too long.
*/

function processUpload(data){
var dir_name = data;
$.ajax({
url: 'processUpload.php',
type: 'POST',
data: {'folderKey' : dir_name },
success: function(data) {
'<%Session["dir_id"] = "'+ dir_name + '"; %>';
//Takes us back to the index file with the directory
// window.location.replace("../../index.php?dir_id="+dir_name);
window.location.replace("Updating.php");
}
});
};

/*
* Obtains the dirID
*/
function waitForDataID (handleDataCallback) {
$.ajax({
type: "GET",
url: "extractArchives.php",
async: true,
cache : false,
timeout: 10000, // sets timeout to 30 seconds
success : handleDataCallback,
erorr : function (XMLHttpRequest,textStatus, erorrThrown) {
alert("erorr :" + textStatus + "(" + erorrThrown + ")");
}
});
};

最佳答案

您可以使用window.onload JavaScript 功能。把你所有的功能都放在里面。这样,您的代码只有在页面完全加载完成时才会执行。

window.onload = function () {
// Your code here ...
}

关于javascript - PHP 进程阻止页面完全加载和显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39450087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com