Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在所有事件完成后执行警报(POST请求、Papaparse、Jquery数据表插入)_Javascript_Jquery_Post_Datatables_Papaparse - Fatal编程技术网

Javascript在所有事件完成后执行警报(POST请求、Papaparse、Jquery数据表插入)

Javascript在所有事件完成后执行警报(POST请求、Papaparse、Jquery数据表插入),javascript,jquery,post,datatables,papaparse,Javascript,Jquery,Post,Datatables,Papaparse,我正在使用Papaparse,我正在执行这段代码。我有一个计数器(errorcounter),用于计算异步post请求返回的错误数。问题是我需要得到errorcounter的值,我正在通过alert测试它 我认为在解析完成之前,在的post请求之前执行警报。在所有这些执行之后,我如何执行警报:(解析、发送post请求,以及在Jquery数据表中显示结果) function verifyImportComputer() { var errorcounter = 0; resetImport

我正在使用Papaparse,我正在执行这段代码。我有一个计数器(errorcounter),用于计算异步post请求返回的错误数。问题是我需要得到errorcounter的值,我正在通过alert测试它

我认为在解析完成之前,在的post请求之前执行警报。在所有这些执行之后,我如何执行警报:(解析、发送post请求,以及在Jquery数据表中显示结果)

function verifyImportComputer() {
  var errorcounter = 0;
  resetImportComputer();
  $('input[id=importFileComputer]').parse({
     config: {
        header: true,
        skipEmptyLines: true,
        step: function(results) {
           $('#importErrorCounter').html(errorcounter);
           $.each(results.data, function(index, data) {
              $.post('com/import/getcomputerimport.cfm', {importData: JSON.stringify(data)}, function(data) {
                 var dataReturn =  $.parseJSON(data);
                 var status = "";
                 jQuery.each(dataReturn.error, function() {
                    status+= "<div class='alert alert-danger'>"+this+"</div>";
                    errorcounter++;
                 });
                 ImportComputerTable.row.add([
                    dataReturn.asset_id,
                    dataReturn.asset_tag,
                    dataReturn.computer_type,
                    dataReturn.computer_name,
                    dataReturn.ip_address,
                    dataReturn.processor,
                    dataReturn.memory,
                    dataReturn.operating_system,
                    dataReturn.office,
                    dataReturn.graphics_card,
                    dataReturn.date_issued,
                    dataReturn.remarks,
                    dataReturn.is_active,
                    status
                 ]).draw(false);
                 $('#importErrorCounter').html(errorcounter);
              });
           });
        }
     }
  }); 
alert(errorcounter);
}
函数验证导入计算机(){
var errorcounter=0;
重置导入计算机();
$('input[id=importFileComputer]')。解析({
配置:{
标题:对,
Skipeptylines:没错,
步骤:功能(结果){
$('#importErrorCounter').html(errorcounter);
$.each(results.data,function)(索引,数据){
$.post('com/import/getcomputerimport.cfm',{importData:JSON.stringify(数据)},函数(数据){
var dataReturn=$.parseJSON(数据);
var status=“”;
each(dataReturn.error,function()){
状态+=“”+此+“”;
errorcounter++;
});
ImportComputerable.row.add([
dataReturn.asset_id,
dataReturn.asset_标记,
dataReturn.computer\u类型,
dataReturn.computer\u名称,
dataReturn.ip_地址,
dataReturn.processor,
dataReturn.memory,
dataReturn.operating_系统,
dataReturn.office,
dataReturn.graphics_卡,
dataReturn.date_发布日期,
dataReturn.comments,
dataReturn.u处于活动状态,
地位
]).抽签(假);
$('#importErrorCounter').html(errorcounter);
});
});
}
}
}); 
警报(错误计数器);
}
编辑

我做了这样的事情,因为有人发布了关于回调的消息,但什么也没发生

function verifyImportComputer() {
    errorcounter = 0;
    resetImportComputer();
    $('input[id=importFileComputer]').parse({
      config: {
         header: true,
         skipEmptyLines: true,
         step: function(results) {
            $('#importErrorCounter').html(errorcounter);
            $.each(results.data, function(index, data) {
               $.post('com/import/getcomputerimport.cfm', {importData: JSON.stringify(data)}, function(data) {
                  var dataReturn =  $.parseJSON(data);
                  var status = "";
                  jQuery.each(dataReturn.error, function() {
                     status+= "<div class='alert alert-danger'>"+this+"</div>";
                     errorcounter++;
                  });
                  ImportComputerTable.row.add([
                     dataReturn.asset_id,
                     dataReturn.asset_tag,
                     dataReturn.computer_type,
                     dataReturn.computer_name,
                     dataReturn.ip_address,
                     dataReturn.processor,
                     dataReturn.memory,
                     dataReturn.operating_system,
                     dataReturn.office,
                     dataReturn.graphics_card,
                     dataReturn.date_issued,
                     dataReturn.remarks,
                     dataReturn.is_active,
                     status
                  ]).draw(false);
                  $('#importErrorCounter').html(errorcounter);
               });
            });
         }
      }
    }, {
      function() {
         alert("haha");
         alert(errorcounter);
      }
    }); 
}
函数验证导入计算机(){
errorcounter=0;
重置导入计算机();
$('input[id=importFileComputer]')。解析({
配置:{
标题:对,
Skipeptylines:没错,
步骤:功能(结果){
$('#importErrorCounter').html(errorcounter);
$.each(results.data,function)(索引,数据){
$.post('com/import/getcomputerimport.cfm',{importData:JSON.stringify(数据)},函数(数据){
var dataReturn=$.parseJSON(数据);
var status=“”;
each(dataReturn.error,function()){
状态+=“”+此+“”;
errorcounter++;
});
ImportComputerable.row.add([
dataReturn.asset_id,
dataReturn.asset_标记,
dataReturn.computer\u类型,
dataReturn.computer\u名称,
dataReturn.ip_地址,
dataReturn.processor,
dataReturn.memory,
dataReturn.operating_系统,
dataReturn.office,
dataReturn.graphics_卡,
dataReturn.date_发布日期,
dataReturn.comments,
dataReturn.u处于活动状态,
地位
]).抽签(假);
$('#importErrorCounter').html(errorcounter);
});
});
}
}
}, {
函数(){
警惕(“哈哈”);
警报(错误计数器);
}
}); 
}
根据建议,这应该是可行的(虽然没有测试它,所以它可能不会-可能会导致JSFIDLE):

函数验证导入计算机(){
errorcounter=0;
重置导入计算机();
$('input[id=importFileComputer]')。解析({
配置:{
标题:对,
Skipeptylines:没错,
步骤:功能(结果){
$('#importErrorCounter').html(errorcounter);
$.each(results.data,function)(索引,数据){
$.post('com/import/getcomputerimport.cfm'{
importData:JSON.stringify(数据)
},函数(数据){
var dataReturn=$.parseJSON(数据);
var status=“”;
each(dataReturn.error,function()){
状态+=“”+此+“”;
errorcounter++;
});
ImportComputerable.row.add([
dataReturn.asset_id,
dataReturn.asset_标记,
dataReturn.computer\u类型,
dataReturn.computer\u名称,
dataReturn.ip_地址,
dataReturn.processor,
dataReturn.memory,
dataReturn.operating_系统,
dataReturn.office,
dataReturn.graphics_卡,
dataReturn.date_发布日期,
dataReturn.comments,
dataReturn.u处于活动状态,
地位
]).抽签(假);
$('#importErrorCounter').html(errorcounter);
});
});
}
}
},
完成:函数(){
函数(){
警惕(“哈哈”);
警报(e)
function verifyImportComputer() {
    errorcounter = 0;
    resetImportComputer();
    $('input[id=importFileComputer]').parse({
            config: {
                header: true,
                skipEmptyLines: true,
                step: function(results) {
                    $('#importErrorCounter').html(errorcounter);
                    $.each(results.data, function(index, data) {
                        $.post('com/import/getcomputerimport.cfm', {
                            importData: JSON.stringify(data)
                        }, function(data) {
                            var dataReturn = $.parseJSON(data);
                            var status = "";
                            jQuery.each(dataReturn.error, function() {
                                status += "<div class='alert alert-danger'>" + this + "</div>";
                                errorcounter++;
                            });
                            ImportComputerTable.row.add([
                                dataReturn.asset_id,
                                dataReturn.asset_tag,
                                dataReturn.computer_type,
                                dataReturn.computer_name,
                                dataReturn.ip_address,
                                dataReturn.processor,
                                dataReturn.memory,
                                dataReturn.operating_system,
                                dataReturn.office,
                                dataReturn.graphics_card,
                                dataReturn.date_issued,
                                dataReturn.remarks,
                                dataReturn.is_active,
                                status
                            ]).draw(false);
                            $('#importErrorCounter').html(errorcounter);
                        });
                    });
                }
            }
        },
        complete: function() {
            function() {
                alert("haha");
                alert(errorcounter);
            }
        }
    );
}