1
私は別の場所で関数を呼び出そうとしています。なぜ私は真実か偽りかを返します。私が得た 問題はhasCreditCardを実行する時間を持つ前に、AJAX呼び出しがasynchronous
であり、あなたのif-statement
は、コールの終了を待たないので、他に直接行く呼び出し、...AJAX呼び出しの後にアクションを実行する方法は?
if (hasCreditCard($('#memberId').val())) {
...
}
else{
...
}
function hasCreditCard(memberId) {
var url = getHostName() + "/members/" + memberId + "/creditcard";
jQuery.ajax({
type: "head",
url: url,
contentType: "application/json",
headers: {
"Authorization": "Basic " + $.cookie('authorization')
},
success: function (data, status, jqXHR) {
if (jqXHR.status == 200) {
return true;
}
return false;
},
error: function (jqXHR, status) {
return false;
}
});
}
'if'条件で実行したい' ajax success'関数にコードを入れ、 'ajaxエラー'関数で実行したいコードをelse部分に入れます – Shaybi
あなたはasyncを試すことができます:ajaxのfalse属性 – rahulsm