Skip to content Skip to sidebar Skip to footer

AJAX Trigger Remote Script Then Check For Success-response

I've been searching my brains out but I can't seem to wrap my head around the little help I find. I'm running a database that is being fed by data from another DB. The csv transpor

Solution 1:

You could do this:

function periodically_check_status_until_success(flowID, runID) {
    setTimeout(function() {
        $.ajax({
            url: './ajaxPHP_handler.php',
            data: { flowid: flowID, action: status, runId: runID },
            dataType: 'json',
            success: function(result){
                 if (result != 'success') {
                     periodically_check_status_until_success(flowID, runID);
                 }
            }
        });
    }, 5000); // Five seconds
}

Note: You can use an object for the data option, rather than concatenate the string yourself.


Solution 2:

So just keep calling it

var flowID, runID;
function trigger_func(flowID) {
  $.ajax({
    url: './ajaxPHP_handler.php',
    data: "flowid="+flowID,
    dataType: 'json',
    success: function(result) {
        var jsonResult  =   jQuery.parseJSON(result);
        runID= jsonResult.runID;
        check_status();
    }
  });
}

function check_status() {
  $.ajax({
    url: './ajaxPHP_handler.php',
    data: "flowid="+flowID+"&action=status&runId="+runID,
    dataType: 'json',
    success: function(result){
      if (result is not what you want) {
        setTimeout(check_status,1000);
      }
    }
  });
}

Solution 3:

ajax are async so you have to manage by this via some 3rd party variable

Like Init with value 0

var _status = 0

than change it on your first call set it 1

function trigger_func(flowID) {
 $.ajax({
     url: './ajaxPHP_handler.php',
     data: "flowid="+flowID,
     dataType: 'json',
     success: function(result) {
         var jsonResult  =   jQuery.parseJSON(result);
         console.log(jsonResult.runID);
          check_status(flowID, runID);
     }
 });
}



 function check_status(flowID, runID) {
 $.ajax({
     url: './ajaxPHP_handler.php',
     data: "flowid="+flowID+"&action=status&runId="+runID,
     dataType: 'json',
     success: function(result){
        //at end status=='success'.
          if(status=='success'){
              // end part 
           }else{// running 
               check_status(flowID, runID);
           }

          // clear timeout will stop that time interval after success  
     }
 });
 }

Post a Comment for "AJAX Trigger Remote Script Then Check For Success-response"