gpt4 book ai didi

javascript - 如何在一个函数中实现多个ajax?

转载 作者:行者123 更新时间:2023-12-03 09:04:28 24 4
gpt4 key购买 nike

我的添加查询数组... Addquery 适用于第一个表 (tb_empgrocery),但 Savequery 不适用于第二个表 (tb_empgroc_master)。

function saveme(){
var data = new Array();
$('#cLoanOut2 > tbody > tr').each(function() {
var nodes = $(this).children();
var itemno = nodes[0].innerHTML,
qty = nodes[2].innerHTML,
unitprc = nodes[3].innerHTML,
amt = nodes[4].innerHTML;
data.push({
name: "itemno[]",
value: itemno
},{
name: "qty[]",
value: qty
},{
name: "unitprc[]",
value: unitprc
},{
name: "amt[]",
value: amt
});
});
return data;
}

这是我的函数,我想在我的 PHP 文件中调用 Save 函数。我可以在一个函数中进行 2 个 ajax 调用吗?第一个 ajax 调用在第一个表上工作正常,但第二个 ajax 调用无法接收第二个表的数据。我的第一个表是 tb_emgrocery,另一个表是 tb_empgroc_master

$('#OKBtn2').click(function(){
$('#myModal2').modal('hide');
var itemid = $('#main-form2 .active').attr('id'),
qty = $('#main-form2 #'+itemid+' td:eq(2)').text(),
unit_price = $('#main-form2 #'+itemid+' td:eq(3)').text(),
amount = $('#main-form2 #'+itemid+' td:eq(4)').text();
bootbox.confirm("Are you sure?","No","Yes",function(r){
if(r) {
var itemno = $('#itemNo').val();
var data = saveme();
data.push({
name: "todo",
value: "Add"
});
console.log(data);
$.ajax({
url : url,
type : "POST",
async : false,
data : data,
success:function(result){
bootbox.alert('Ordered',function(){
});
updateTable();
}
});
} else {

}
});
//Am I doing right here?
$.ajax({
url : url,
type : "POST",
async : false,
data : {
todo:"Save"
}
});
});

这是我的 PHP 文件

case "Add":
$itemno = $_POST['itemno'];
$qty = $_POST['qty'];
$unitprc = $_POST['unitprc'];
$amt = $_POST['amt'];
$coopmemid = $_SESSION['kiosk']['is_coopmemID_kiosk'];
for($x=0; $x<count($itemno); $x++) {
$Addquery = "INSERT INTO tb_empgrocery (coopmemID , date_ordered, item_no, qty_ordered, unit_price, amount)
VALUES ('$coopmemid',(NOW()),'$itemno[$x]','$qty[$x]','$unitprc[$x]','$amt[$x]')";
mysql_query($Addquery, $con);
}
break;
case "Save":
if(isset($_POST['Add'])){
$Addquery = "INSERT INTO tb_empgroc_master (date_ordered) VALUES ((NOW()))";
mysql_query($Addquery, $con);
}
break;

提前致谢:))

最佳答案

是的,在收到第一个ajax调用的响应后,您可以调用另一个ajax。您可以执行以下操作:

$.ajax({  
url : url,
type : "POST",
async : false,
data : data,
success:function(result){
bootbox.alert('Ordered',function(){
});
updateTable();
//here you can call another ajax request
}
});

完整代码:

$.ajax({  
url : url,
type : "POST",
async : false,
data : data,
success:function(result){
bootbox.alert('Ordered',function(){
});
updateTable();
//here you can call another ajax request
//Am I doing right here?
$.ajax({
url : url,
type : "POST",
async : false,
data : {
todo:"Save"
}
});
}
});

如果你想在第一个ajax调用中传递todo。使用以下内容:

data.push({
name: "todo",
value: "Add"
todo: "Save"
});

关于javascript - 如何在一个函数中实现多个ajax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32220799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com