首頁  >  文章  >  web前端  >  用Ajax實現同步和非同步有什麼差別

用Ajax實現同步和非同步有什麼差別

php中世界最好的语言
php中世界最好的语言原創
2018-04-02 14:37:162063瀏覽

這次帶給大家用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傳輸造成影響。 推薦閱讀:

使用Blod做出ajax的進度條下載

Ajax如何實現城市二級連動

以上是用Ajax實現同步和非同步有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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