非同期リクエストを使用する場合、非同期リクエストの結果を別の js 関数に返す必要がある場合、リクエストを送信した js 関数が完了するまでリクエスト結果は返されません。後続の操作、つまり return が実行された場合、戻り結果は null 文字になります。
概要: ajax リクエストを使用した後に送信リクエストによって返された結果を処理するには、同期リクエストを使用するのが最善です。
例: 次の例では、ajax 非同期リクエストがまだ実行されておらず、関数が既に return を実行しているため、戻り結果は不正確になります。
function fn(){
var result = " "
$.ajax({
url : 'あなたの URL',
data:{name:value},
cache : false,
async : true,
type : "POST" ,
success : function (data){
do something....
result = ....
}
// の場合にもエラーが発生します。 ajax で返されたデータの処理
return result ;
1 非同期リクエスト メソッド:
$.ajax({
url : 'your url',
data:{name:value},
キャッシュ : false、
async : true、
type : "POST"、
dataType : 'json/xml/html'、
success : function (result){
do何か....
}
});
2 同期リクエストメソッド
$.ajax({
url : 'your url',
data:{name:value},
cache : false、
async : false、
type : "POST"、
dataType : 'json/xml/html'、
success : function (result){
何かをします....
}
});