gpt4 book ai didi

php - 在窗口中启动 Ajax 脚本 - 窗口关闭时停止

转载 作者:行者123 更新时间:2023-11-28 10:19:52 25 4
gpt4 key购买 nike

我需要调用 Ajax 脚本来从子窗口重新加载数据。然后我需要关闭所述子窗口。我一直遇到 Ajax 脚本在窗口关闭时停止的问题,所以我尝试使用这个:

MakeParentRequest('get_job.php?tab=journals&id=<?php echo $cur_job->job_id; ?>', 'jobscontainer', 'yes', 'yes');
setTimeout("window.close()", "1000");

MakeParentRequest() 在 ID 为“jobscontainer”的元素中加载脚本“get_job.php”。如果“get_job.php”的加载时间比超时持续时间长,此代码仍然会遇到相同的问题。有建议吗?

最佳答案

处理该问题的更好方法是定义一个回调函数,在 Ajax 调用完成时调用该函数。

这是一个简单的(以 jQuery 为中心)示例:

function ajaxComplete() {
window.close();
}

function MakeParentRequest() {
$.post('get_job.php', {tab: 'journals'}, function( data, txtStatus, jqXHR) {
ajaxComplete();
});
}

那么无论 ajax 调用花费多长时间,在完成之前您都不会关闭窗口。另外,它可以让您更好地处理 ajax 调用失败并且您需要执行其他操作的情况。

您甚至可以将回调作为参数传递给 MakeParentRequest()

function MakeParentRequest(callback) {
$.post('get_job.php', {tab: 'journals'}, function( data, txtStatus, jqXHR) {
if(typeof callback == 'function') {
callback();
}
});
}

MakeParentRequest(ajaxComplete);

关于php - 在窗口中启动 Ajax 脚本 - 窗口关闭时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5858761/

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