非同期リクエストを使用する場合、非同期リクエストの結果を別の js 関数に返す必要がある場合、リクエストを送信した js 関数が完了するまでリクエスト結果は返されません。後続の操作、つまり return が実行された場合、戻り結果は null 文字になります。
概要: ajax リクエストを使用した後に送信リクエストによって返された結果を処理するには、同期リクエストを使用するのが最善です。
例: 次の例では、ajax 非同期リクエストがまだ実行されておらず、関数が既に return を実行しているため、戻り結果が正しくない可能性があります。
次のようにコードをコピーします。
関数 fn(){
var 結果 = " ";
$.ajax({
URL : 'あなたの URL',
データ:{名前:値}、
キャッシュ: false、
非同期: true、
タイプ:「POST」、
成功: 関数 (データ){
何かをしてください....
結果 = ....
}
// 返されたデータを ajax で処理するとエラーも発生します
結果を返します。
}
1 非同期リクエストメソッド:
次のようにコードをコピーします。
$.ajax({
URL : 'あなたの URL',
データ:{名前:値}、
キャッシュ: false、
非同期: true、
タイプ:「POST」、
データタイプ: 'json/xml/html',
成功: 関数 (結果){
何かをしてください....
}
});
2 同期リクエスト方式
次のようにコードをコピーします。
$.ajax({
URL : 'あなたの URL',
データ:{名前:値}、
キャッシュ: false、
非同期 : false、
タイプ:「POST」、
データタイプ: 'json/xml/html',
成功: 関数 (結果){
何かをしてください....
}
});