ホームページ  >  記事  >  ウェブフロントエンド  >  Ajax 同期と非同期の問題に対する簡単な分析と解決策

Ajax 同期と非同期の問題に対する簡単な分析と解決策

亚连
亚连オリジナル
2018-05-22 17:12:322002ブラウズ

Ajax を介してバックグラウンドでデータを送受信する場合、同期および非同期の問題が頻繁に発生します。この記事では、Ajax の同期と非同期の問題の簡単な分析を紹介します。必要な友人は参考にしてください。Ajax を介してバックグラウンドでデータを送受信するとき、同期と非同期の問題がよく発生します。 Ajax はデフォルトで非同期でロードされますが、場合によっては同期または同期効果が必要になるため、解決策は 2 つあります。

オプション 1: 特定のメソッドをコールバック関数に入れて実行します。つまり、バックグラウンドから正常に戻るまで待ってから実行します。 例:

$.getJSON("/data-access/sens-config/IPandPortSel",{},function(resp){
if(resp.code==0){
$.each(resp.data,function(i,obj){
option_net_type += addOption(obj);
});
$("#edit-addr_id").append(option_net_type);
addr_idOld = $('#edit-addr_id').val(addr_id);
}
});

if(resp.code==0){} の外側に配置された場合、赤い部分はデータが正常に返された後に実行する必要があります ((ただし $.getJSON(); の後に配置されます)。データがバックグラウンドから返される前に、コードの赤い部分が実行されています

方法 2: 標準の Ajax 送信メソッドを使用します

 $.ajax({ 
  type : "post", 
  url : "/data-access/manufacturer/deleteBranch", 
  data : data, 
  async : false,//取消异步 
  success : function(resp){
if(resp.code==0){
if(ids.length>=currentListNum&&currentPage!=1){
currentPage = currentPage - 1;
}
var para = {
mypara :currentPage,
startPage : currentPage,
};
$('p.page-box').data('myPage').setOptions({data: para});
}
  } 
 });

注: このメソッドは部分的な同期送信方法のみです。他の送信に影響します。これは、より安全で推奨される方法です。

この方法は、他の送信に影響を与えるため、お勧めできません。他の ajax 送信も影響を受けます

上記は皆さんのためにまとめたものです。今後皆さんのお役に立てれば幸いです。位置の詳細な説明: IE6 での修正された問題。 CSS スタイルの詳細な説明。!重要、*、_ 記号

画像の適応型レイアウトを作成するためのパディング (CSS パーセンテージ)

以上がAjax 同期と非同期の問題に対する簡単な分析と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。