내 함수 emitirFatura() 내 함수 atualizarEncomenda redirectFatura() 실행하려면 끝내기를 기다리고 있지만 작동하지 않습니다. actualizarEncomenda
는 Ajax 요청으로부터 응답을 반환하기 전에 d
되어 스타터 용
function emitirFatura(id){
atualizarEncomenda(id).then(redirectFatura(id));
}
function redirectFatura(id){
window.location = "index.php?menu=admin&submenu=fatura&control=emitir&encomenda="+id;
}
function redirectFatura(id){
window.location = "index.php?menu=admin&submenu=fatura&control=emitir&encomenda="+id;
}
function atualizarEncomenda(id){
d = $.Deferred();
var formData = 'id='+id;
$.post("admin/updEncomenda.php", formData , function(data)
{
if (data != '' || data != undefined || data != null){
$('#sending-control').html('<div align="center"><img src="../../img/checked.gif" width="50px"/></div>');
setTimeout(function(){ $('#sending-control').html('');}, 4000);
d.resolve;
}else{
$('#sending-control').html('<div align="center"><img src="../../img/error.gif" width="50px"/></div>');
setTimeout(function(){ $('#sending-control').html('');}, 4000);
}
});
return d.promise();
}
당신은 else case에서 약속 한 일을하지 않으며, 내 추측은 d.resolve ('result here')라고 생각합니다. 코드에 더 많은 오류가 있습니다. – Peter
해결을 실행하지 않아도됩니까? 'd.resolve(); ' –