ajax请求完成执行,当另一个请求完成时执行Ajax请求

我循环遍历Leaflet地图中的标记图层,以捕获每个标记的纬度和经度,并使用Ajax在我的数据库中发送此坐标。

然后,当我在我的数据库中发送每个标记的纬度和经度时,我想用另一个Ajax调用我的WFS层来显示添加到我的数据库的新标记。

为此,我想在第一个完成后调用我的第二个Ajax,所以我尝试使用$ .when()。done(),但它不起作用。

如果我发送几个标记的坐标,它可以工作,但是如果我尝试发送200个标记,则第二个Ajax在第一个标记结束之前执行,并且不显示我的WFS图层。如果我在第二个Ajax上设置超时以给第一个Ajax执行时间,那么它可以工作,但它不是一个解决方案。

这是我的代码:

var dialog_create = $('#dialog_create').dialog();

dialog_create.dialog(options, {

buttons: {

Add: function() {

$.when(

layer.eachLayer(function(layer) {

latGPS = layer.getLatLng().lat;

lngGPS = layer.getLatLng().lng;

$('#latitudeEP').val(latGPS);

$('#longitudeEP').val(lngGPS);

data = $("#formulaireEP").serialize();

$.ajax({

url: 'assets/php/create/create_EP.php',

type: $("#formulaireEP").attr('method'),

data: data,

success: function() {

dialog_create_EP.dialog("close");

$("#formulaireEP")[0].reset();

}

})

})

).done(function(data) {

//setTimeout(function(){

$.ajax({

url: owsrootUrlAssainissement + L.Util.getParamString(parametersEP),

dataType: 'jsonp',

jsonpCallback: 'callEP'

}).done(EPvannes1);

//},5000);

});

return false;

},

Cancel: function() {

dialog_create_EP.dialog("close");

},

}

});

dialog_create_EP.dialog("open");

编辑:

这是我使用deffered对象的最佳尝试,但它不起作用......

var dialog_create = $('#dialog_create').dialog();

dialog_create.dialog(options, {

buttons: {

Add: function() {

var defer = $.Deferred();

function getAjaxDeffered(){

layer.eachLayer(function(layer) {

latGPS = layer.getLatLng().lat;

lngGPS = layer.getLatLng().lng;

$('#latitudeEP').val(latGPS);

$('#longitudeEP').val(lngGPS);

data = $("#formulaireEP").serialize();

$.ajax({

url: 'assets/php/create/create_EP.php',

type: $("#formulaireEP").attr('method'),

data: data,

success: function() {

dialog_create_EP.dialog("close");

$("#formulaireEP")[0].reset();

}

})

})

}

defer.resolve(getAjaxDeffered());

$.when(defer).then(function(data) {

//setTimeout(function(){

$.ajax({

url: owsrootUrlAssainissement + L.Util.getParamString(parametersEP),

dataType: 'jsonp',

jsonpCallback: 'callEP'

}).done(EPvannes1);

//},5000);

});

return false;

},

Cancel: function() {

dialog_create_EP.dialog("close");

},

}

});

dialog_create_EP.dialog("open");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值