私の関数emitirFatura()私の関数atualizarEncomendaがredirectFatura()を実行するのを待っているが、動作しないようにしたい。手始めに
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のケースで約束をしていません、私の推測ではそのd.resolve( 'result here')もあります。コードにはさらに多くのエラーがあります。 – Peter
解決を実行する必要はありませんか? 'd.resolve();' –