来自已完成功能的警报正在成功之前执行。请帮我。我在这做错了什么:
function load_organization()
{
return $.ajax({
url: '/partials/structure',
method: "GET",
data: {id:id},
success: function (data) {
$(data.organizations).each(function(index, organization) {
$("#organization").append(new Option(organization));
});
}
});
}
$(document).ready(function(){
load_organization().done(function(){
alert('Success');
});
});
答案 0 :(得分:0)
“完成”是使用jQuery从正在运行的XHR实例触发的回调。
医生说:
jqXHR.done(function(data,textStatus,jqXHR){}); 成功回调选项的替代构造,请参阅deferred.done()以获取实现细节。
看看:
function load_organization()
{
$.ajax({
url: '/partials/structure',
method: "GET",
data: {id:id},
success: function (data) {
$(data.organizations).each(function(index, organization) {
$("#organization").append(new Option(organization));
});
}
})
// Use done here -> look official API doc for some explanations: http://api.jquery.com/jQuery.ajax/
.done(function(){
alert('Success');
});
}
$(document).ready(function(){
load_organization();
});
希望这可以帮助您解决问题
答案 1 :(得分:0)
调用load_organization()时正在执行alert('Success');
。因此无论ajax如何,都会显示消息。您可以在同一个功能中提醒成功。 .done()
只有一个回调,它是成功的回调。
function load_organization()
{
return $.ajax({
url: '/partials/structure',
method: "GET",
data: {id:id},
success: function (data) {
$(data.organizations).each(function(index, organization) {
$("#organization").append(new Option(organization));
alert('Success');
});
}
});
}