запустить второй запрос AJAX в цикле setInterval - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть функция javascript, которая опрашивает существование HTML-файла и, когда он обнаруживается, отображает содержимое.Это работает нормально ... но я хочу вызвать 2-ю функцию, пока она выполняет эти проверки ... т.е. пока файл не существует ... Однако эта 2-я функция работает только тогда, когда файл существует ... в противном случаев моих инструментах chrome deveopment он просто отображается (в ожидании)

Есть идеи, что может быть причиной?

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();  
                    }
                });
            }
}

2-я вызываемая функция:

function checkReportRequests(passedDate){


            $.ajax(
                {
                    type: "POST", 
                    url: "ajax.php",
                    data: (
                    {
                        "type": "checkReportRequests",
                        "passedDate": passedDate         
                    }), 

                    success: function(response)
                    {
                        $("#statusCheck").html(response);
                    }
                });


}

функция работает, потому что она отображает результат после завершения опроса ... но суть в том, что она обновляетсяповсюду!

enter image description here

...