这是我的代码
$('#enviarGuia').click(function () {
var fecha = $('#fecha').val();
var rut = $('#rut').val()
var obs = $('#obs').val();
var direccion = $('#direccion').val();
var ciudad = $('#ciudad').val();
var total = $('#total').val();
var sucursal = $('#sucursal').val();
if (validaSalida()) {
respuesta = confirm("Esta seguro de guardar?")
if (respuesta) {
cargaCorre() // carga correlativo
var correlativo = $('#correlativo').html();
$('#tablasDetalle tr').not(':first').each(function () {
var unidad = $(this).children("td:nth-child(1)").html();
var descrip = $(this).children("td:nth-child(2)").html();
var p_unitario = $(this).children("td:nth-child(3)").html();
var correlativo = $('#correlativo').html();
$.ajax({
type: "POST",
url: "../ajax/registra_guia_entrega.php",
data: 'unidad=' + unidad + '&descrip=' + descrip + '&p_unitario=' + p_unitario + '&correlativo=' + correlativo + '&sucursal=' + sucursal,
datatype: "html",
success: function (msg) {
}
})
})
$.ajax({
type: "POST",
url: "../ajax/registra_guia_entrega.php",
data: 'fecha=' + fecha + '&rut=' + rut + '&obs=' + obs + '&direccion=' + direccion + '&ciudad=' + ciudad + '&total=' + total + '&sucursal=' + sucursal + '&correlativo=' + correlativo,
datatype: "html",
success: function (msg) {
if (parseInt(msg) != 5) {
if (sucursal == "GE") {
top.ifrm.location.href = '../pdf/guia_entrega_pdf.php?numero=' + correlativo + '&tipo=' + sucursal;
} else {
top.ifrm.location.href = '../pdf/guia_entrega_tarapaca_pdf.php?numero=' + correlativo + '&tipo=' + sucursal;
}
}
}
})
}
}
})
问题是我在函数中有两个插入
第一个是
$('#tablasDetalle tr').not(':first').each(function() {
var unidad=$(this).children("td:nth-child(1)").html();
var descrip=$(this).children("td:nth-child(2)").html();
var p_unitario=$(this).children("td:nth-child(3)").html();
var correlativo=$('#correlativo').html();
$.ajax({
type: "POST",
url: "../ajax/registra_guia_entrega.php",
data: 'unidad='+unidad+'&descrip='+descrip+'&p_unitario='+p_unitario+'&correlativo='+correlativo+'&sucursal='+sucursal,
datatype: "html",
success: function(msg){
}
})
})
这个细节总是不止一个插入
,第二个插页是
$.ajax({
type: "POST",
url: "../ajax/registra_guia_entrega.php",
data: 'fecha='+fecha+'&rut='+rut+'&obs='+obs+'&direccion='+direccion+'&ciudad='+ciudad+'&total='+total+'&sucursal='+sucursal+'&correlativo='+correlativo,
datatype: "html",
success: function(msg){
if(parseInt(msg)!=5)
{
if(sucursal=="GE")
{
top.ifrm.location.href='../pdf/guia_entrega_pdf.php?numero='+correlativo+'&tipo='+sucursal;
}
else{
top.ifrm.location.href='../pdf/guia_entrega_tarapaca_pdf.php?numero='+correlativo+'&tipo='+sucursal;
}
}
}
})
这是头,总是一个插页。
问题是当我用php
以pdf格式显示文档时 if(sucursal=="GE")
{
top.ifrm.location.href='../pdf/guia_entrega_pdf.php?numero='+correlativo+'&tipo='+sucursal;
}
else{
top.ifrm.location.href='../pdf/guia_entrega_tarapaca_pdf.php?numero='+correlativo+'&tipo='+sucursal;
}
文档显示在第一个插入周期结束之前
答案 0 :(得分:1)
将第二个ajax调用放在第一个的success()中。然后你将保证它只会在第一次ajax调用成功后运行。当然,在完成最后一个$('#tablasDetaille tr')元素的ajax之后,你只需要这样做。
$('#enviarGuia').click(function(){
var fecha = $('#fecha').val();
var rut = $('#rut').val()
var obs = $('#obs').val();
var direccion = $('#direccion').val();
var ciudad = $('#ciudad').val();
var total = $('#total').val();
var sucursal = $('#sucursal').val();
if (validaSalida()) {
respuesta = confirm("Esta seguro de guardar?")
if (respuesta) {
cargaCorre() // carga correlativo
var correlativo = $('#correlativo').html();
$('#tablasDetalle tr').not(':first').each(function () {
var unidad = $(this).children("td:nth-child(1)").html();
var descrip = $(this).children("td:nth-child(2)").html();
var p_unitario = $(this).children("td:nth-child(3)").html();
var correlativo = $('#correlativo').html();
$.ajax({
type: "POST",
url: "../ajax/registra_guia_entrega.php",
data: 'unidad=' + unidad + '&descrip=' + descrip + '&p_unitario=' + p_unitario + '&correlativo=' + correlativo + '&sucursal=' + sucursal,
datatype: "html",
success: function (msg) {
if (/* do something here to check that you've
processed the last element in $('#tablasDetalle tr')*/)
$.ajax({
type: "POST",
url: "../ajax/registra_guia_entrega.php",
data: 'fecha=' + fecha + '&rut=' + rut + '&obs=' + obs + '&direccion=' + direccion + '&ciudad=' + ciudad + '&total=' + total + '&sucursal=' + sucursal + '&correlativo=' + correlativo,
datatype: "html",
success: function (msg) {
if (parseInt(msg) != 5) {
if (sucursal == "GE") {
top.ifrm.location.href = '../pdf/guia_entrega_pdf.php?numero=' + correlativo + '&tipo=' + sucursal;
} else {
top.ifrm.location.href = '../pdf/guia_entrega_tarapaca_pdf.php?numero=' + correlativo + '&tipo=' + sucursal;
}
}
}
})
}
})
})
}
}
})
答案 1 :(得分:1)
您可以将async: false,
添加到两个$ .ajax调用的选项中。这会强制第二个ajax请求等到第一个ajax请求结束加载。