jquery非同期AJAX要求のスタックオーバーフローに関する多くのトピックを取り上げました。ここに私のコードです。Jquery非同期呼び出しは未定義の値を返す
funciton ajaxCall(path, method, params, obj, alerter) {
var resp = '';
$.ajax({
url: path,
type: method,
data: params,
async: false,
beforeSend: function() {
$('.black_overlay').show();
},
success: function(data){
console.log(data);
resp = callbackFunction(data, obj);
if(alerter==0){
if(obj==null) {
resp=data;
} else {
obj.innerHTML=data;
}
} else {
alert(data);
}
},
error : function(error) {
console.log(error);
},
complete: function() {
removeOverlay();
},
dataType: "html"
});
return resp;
}
問題は、私がasynをfalseにすると、respの適切な値が得られるという問題です。しかし、の前には、が動作しません。
asyncがtrueの場合、beforeSendは正常に動作しますが、resp値は正しく返されません。常に空白です。
両方の問題を解決する方法はありますか?私はbeforeSend関数とresp値の両方を取得します。
おかげ
ところで、callbackFunctionは未定義のようです。 –
[非同期呼び出しから応答を返すにはどうすればよいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – Rajesh
データの価値は? –