我有以下代码,它通过附加的ajax内容加载:
$.get('http://mydomain.com/ajax1.php/', function(data){
var data_one = $(data).find('#ajax_editor_suggestion_container');
$('.ajax_editor_selection_container').append(data_one);
});
$.get('http://mydomain.com/ajax2.php/', function(data){
var data_one = $(data).find('#ajax_editor_suggestion_container');
$('.ajax_editor_selection_container').append(data_one);
});
我的目标是首先附加ajax1.php的内容,然后附加ajax2.php的内容。但是有时ajax2.php的内容会在ajax1.php的内容之前加载并混淆附加的顺序。
所以我的问题是,如何确保ajax2.php的内容始终附加在ajax1.php的内容之后?
我使用$ .get()因为它对我来说更容易,但我对任何其他jQuery ajax方法都开放。
由于
答案 0 :(得分:1)
我会使用$.when
:
$.when(
$.get('http://mydomain.com/ajax1.php/'),
$.get('http://mydomain.com/ajax2.php/')
).done(function (response1, response2) {
var data_one = $(response1).find('#ajax_editor_suggestion_container');
var data_two = $(response2).find('#ajax_editor_suggestion_container');
$('.ajax_editor_selection_container').append(data_one).append(data_two);
});
这将同时运行ajax请求,但在两者完成之前不会调用回调。