這次帶給大家用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&¤tPage!=1){ currentPage = currentPage - 1; } var para = { mypara :currentPage, startPage : currentPage, }; $('p.page-box').data('myPage').setOptions({data: para}); } } });注意:這種方式只是局部的同步傳輸方式,不會對其他傳輸造成影響,是比較
安全和推薦的一種方式。是全局的,不是很推薦使用,因為會對其他ajax傳輸造成影響。 推薦閱讀:
使用Blod做出ajax的進度條下載Ajax如何實現城市二級連動
以上是用Ajax實現同步和非同步有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!