微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – ajax请求的顺序总是不同的

我有一个 javascript代码,必须请求数据库(ajax).但是我发现插入错误但是有正确的sql请求.所以我在执行代码添加了ajax请求知道的警报.

这是代码

$.post("/kohana-v3.3.5/ajax/update_simulation",{
                    id_simulation: id_simulation,nom_simulation: nom_simulation,sol_simulation: sol_simulation,station_simulation: station_simulation,iteration_simulation: iteration_simulation,scenario_simulation: scenario_simulation
                },function (result) {
                    console.log(result);
                    alert('update');
                });

$.post("/kohana-v3.3.5/ajax/delete_pousses",{id_simulation: id_simulation},function (result) {
                console.log(result);
                alert('delete');
            });

$(this).prev('div').find('table .formRows').each(function (i) {
                            alert('here');
                            if (cpt % 2 == 1) {
                                //interculture
                                var $tds = $(this).find('td option:selected'),culture = $tds.eq(0).val(),date = $tds.eq(1).text();
                                itk = null;
                            } else {
                                //culture
                                var $tds = $(this).find('td option:selected'),itk = $tds.eq(1).val();
                                date = null;
                            }

                            $.post("/kohana-v3.3.5/ajax/insert_pousses",{
                                id_simulation: id_simulation,culture: culture,date: date,itk: itk,rang: cpt
                            },function (result) {
                                console.log(result);
                                alert('insert');
                            }); //Fin du post

                            cpt++;


                        }); //Fin du each

每次运行该代码时,警报的顺序总是不同!有时“插入更新删除”,有时“更新,删除插入”…

这是一个问题,因为如果删除是最后一个,插入将被删除.那么,这是正常的方式吗?我该如何解决

解决方法

AJAX请求是异步的,因此如果您将这些请求作为兄弟姐妹触发,则无法保证订单.

为了保证固定订单,您需要从其前任的成功块进行后续调用.像这样的东西:

$.post('/ajax/method1',{ params: params },function(result) {
    $.post('/ajax/method2',function(result) {
        $.post('/ajax/method3',function(result) {
          });
      });
  });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐