Javascript在所有事件完成后执行警报(POST请求、Papaparse、Jquery数据表插入)
我正在使用Papaparse,我正在执行这段代码。我有一个计数器(errorcounter),用于计算异步post请求返回的错误数。问题是我需要得到errorcounter的值,我正在通过alert测试它 我认为在解析完成之前,在的post请求之前执行警报。在所有这些执行之后,我如何执行警报:(解析、发送post请求,以及在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
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);
}
}
);
}