$.getJSONの非同期リクエストと同期リクエストの使用例を詳しく解説

伊谢尔伦
リリース: 2017-07-21 14:56:33
オリジナル
2008 人が閲覧しました

前の関数は前の関数の戻り値を呼び出そうとしていましたが、その戻り値は常に空でした。後でいくつかの情報を調べたところ、非同期リクエストが問題を引き起こしていることに気づきました。例:


function get_no_order_array() { 
  var order_info = show_order(); 
  var order = []; 
  
  $.getJSON("../JSON/customers.json", function (date) { 
 
    date["man"].forEach(function (person) { 
      if (order_info.k_obj[person] == undefined) { 
        order.push(person); 
      } 
    }) 
  }); 
 
  return order; 
}
ログイン後にコピー

後で、印刷された配列の順序が常に空であることがわかりました。修正されたコードは次のとおりです。ループの前に同期実行を示すため、順番に実行されます。

複数の$.getJSON()を同時に実行するときのデータの混乱の問題を解決するには

実行前に$.ajaxSettings.async = false;を追加します(同期実行)


後で$.ajaxSettings.asyncに復元しますコードの実行 = true; (非同期実行)

そうしないと、非同期で実行する必要がある他の場所のコードに影響を与えます。

りー

以上が$.getJSONの非同期リクエストと同期リクエストの使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート