我有一个在 AJAX 调用完成后执行的 javascript 代码。
req.done(function (response, textStatus, jqXHR){
if (response == " ok"){
// values are confirmed
this.s = this._s
this.e = this._e
this.assign = this._assign
this.y = roomline.snapHeight(this.assign);
console.log(response)
drawscreen()
if (confirm('Would you also like to apply a discount/credit?')){
var link = "?some_get_request"
self.location = "assignDiscount.php" + link;
}
} else {
alert(response)
}
});
正如你所看到的,我有一堆应该在confirm()
对话框显示之前发生的事情(比如drawscreen()
或console.log
)。
问题是这些东西都没有发生在确认对话框之前,而是在确认对话框之后!我应该在我的 javascript 控制台中看到“ok”:而是在我按下确认对话框上的“cancel”按钮后看到它。这是没有意义的:当我看到弹出对话框时,“ok”应该在那里。为什么会这样,我应该如何解决?