首頁 >web前端 >js教程 >Ajax同步與非同步問題淺析及解決方法

Ajax同步與非同步問題淺析及解決方法

亚连
亚连原創
2018-05-22 17:12:322035瀏覽

透過ajax傳送和接收資料到後台時,常常會出現同步非同步問題。這篇文章跟大家介紹Ajax同步和非同步問題淺析,需要的朋友參考下

透過ajax傳送和接收資料到後台時,常常會出現同步非同步問題。由於ajax是預設非同步載入的,但有時候需要同步或同步的效果,有以下兩種解決方案。

方案一:將某些方法放在回呼函數中執行,即,等到從背景返回成功後再執行。

範例:

$.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();後面)會存在資料還沒從後台返回,就已經執行到紅色部分程式碼了。

#

 $.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中的position:fixed問題

詳解讀CSS樣式中的!important、*、_符號

padding製作圖片自適應佈局(CSS百分比)#

以上是Ajax同步與非同步問題淺析及解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn