我有一个javascript函数,用于轮询HTML文件的存在,并在发现该文件时显示其内容。 效果很好...但是我想做的是在运行这些检查的同时调用第二个函数...即文件不存在... 但是第二个功能仅在文件存在后才起作用...否则,在我的Chrome开发工具中,它仅显示为(待定)
任何想法可能是由什么引起的?
function checkfile(fileNamePassed, userCode, typeOfReport, proof, passedDate){
var timerForLoadingResult=setInterval( function() { checkServerForFile(fileNamePassed, userCode, typeOfReport, proof, passedDate); }, 3000 );
function checkServerForFile(fileNamePassed, userCode, typeOfReport, proof) {
var d = new Date();
var newDate=d.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate()+'.'+d.getHours()+'.'+d.getMinutes()+'.'+d.getSeconds();
checkReportRequests(passedDate);
$.ajax({
url: 'https://example.com/wwl/htmlPolling/'+fileNamePassed+'.html',
type:'HEAD',
error: function()
{
},
success: function()
{
clearInterval(timerForLoadingResult);
$("#generateReports").attr('onclick',"generateReports('"+typeOfReport+"','"+proof+"','"+userCode+"','"+newDate+"')");
$("#main").load('https://example.com/wwl/htmlPolling/'+fileNamePassed+'.html');
$('[id=wait]').hide();
$('[id=wrapper]').hide();
$('[id=main]').show();
}
});
}
}
被调用的第二个函数是:
function checkReportRequests(passedDate){
$.ajax(
{
type: "POST",
url: "ajax.php",
data: (
{
"type": "checkReportRequests",
"passedDate": passedDate
}),
success: function(response)
{
$("#statusCheck").html(response);
}
});
}
该功能之所以有效,是因为它在轮询完成后立即显示结果...但是,重点是它会在整个过程中进行更新!