私はajaxへのこのjquery呼び出しを持っています、
function findTaxForProcess(argPrc, argPrcAmount, argPrcDiscount) {
if (argPrc == '') { return 0; };
var _valToReturn;
if ($('#hdnTaxBefore').val() == "true") {
// if tax is calculated before discount
$.ajax({
url: '/AutoComplete.asmx/FindProcessTax',
type: 'POST',
timeout: 5000,
datatype: 'xml',
cache: false,
data: 'argProcess=' + argPrc + '&argAmt=' + argPrcAmount,
success: function (response) {
_valToReturn = $(response).find('double').text();
alert(_valToReturn);
}
});
}
else {
// the tax is calculated after discount
$.ajax({
url: '/AutoComplete.asmx/FindProcessTaxAter',
type: 'POST',
timeout: 5000,
datatype: 'xml',
cache: false,
data: 'argProcess=' + argPrc + '&argAmt=' + argPrcAmount + '&argDiscount=' + argPrcDiscount,
success: function (response) {
_valToReturn = $(response).find('double').text();
alert(_valToReturn);
}
});
}
alert('came here ' + _valToReturn);
return _valToReturn;
};
問題は最初のアラートが表示2.873
されること (それ以外の場合は が表示される2.178
) ですが、問題は 2 番目のアラートであり、2 番目のアラートがcame here undefined
???を表示することです ところで?ハックがうまくいかないのは何ですか?私はこれを2日間いじっていますが、何もありません!
_valToReturn
2 回目のアラートで未定義の値が表示されるのはなぜですか? 最初に定義された?助けはありますか?
EDIT : アラートは最初のアラートの後came here _valToReturn
に実行されています。したがって、(ほぼ!)すべての回答者が、それが前に来る場合は未定義であると言ったので、私はそれを知っていますが、私が言ったように、前ではなく後に実行されています。