ajax默認(rèn)提交方式是什么

這篇文章主要介紹“ajax默認(rèn)提交方式是什么”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“ajax默認(rèn)提交方式是什么”文章能幫助大家解決問(wèn)題。

成都創(chuàng)新互聯(lián)公司成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站開(kāi)發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),成都響應(yīng)式網(wǎng)站建設(shè)公司,網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:13518219792

ajax默認(rèn)是異步提交;AJAX中根據(jù)async值的不同分為同步“false”和異步“true”,而默認(rèn)情況下async值是true(異步提交)。這樣做的好處就是能夠通過(guò)局部刷新的方式提高用戶的體驗(yàn),同時(shí)還能節(jié)省資源,減少數(shù)據(jù)庫(kù)的壓力。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

ajax默認(rèn)提交方式是異步提交,這樣做的好處就是能夠通過(guò)局部刷新的方式提高用戶的體驗(yàn),同時(shí)還能節(jié)省資源,減少數(shù)據(jù)庫(kù)的壓力。

AJAX中根據(jù)async的值不同分為同步(async = false)和異步(async = true)

$.ajax({ 
        type: "post", 
       url: "path", 
       cache:false, 
       async:false, 
        dataType: ($.browser.msie) ? "text" : "xml", 
         success: function(xmlobj){ 
                      function1(){};
        } 
});
 function2(){};

默認(rèn)情況下async是true(異步提交)。

改成同步的方法就是將async的默認(rèn)值改成false,一般都是true或者不寫(xiě),如果改成false就會(huì)失去ajax的本身作用。

一、什么是同步請(qǐng)求:(false)

同步請(qǐng)求即是當(dāng)前發(fā)出請(qǐng)求后,瀏覽器什么都不能做,必須得等到請(qǐng)求完成返回?cái)?shù)據(jù)之后,才會(huì)執(zhí)行后續(xù)的代碼,相當(dāng)于是排隊(duì),前一個(gè)人辦理完自己的事務(wù),下一個(gè)人才能接著辦。也就是說(shuō),當(dāng)JS代碼加載到當(dāng)前AJAX的時(shí)候會(huì)把頁(yè)面里所有的代碼停止加載,頁(yè)面處于一個(gè)假死狀態(tài),當(dāng)這個(gè)AJAX執(zhí)行完畢后才會(huì)繼續(xù)運(yùn)行其他代碼頁(yè)面解除假死狀態(tài)(即當(dāng)ajax返回?cái)?shù)據(jù)后,才執(zhí)行后面的function2)。

二、什么是異步請(qǐng)求:(true)

異步請(qǐng)求就當(dāng)發(fā)出請(qǐng)求的同時(shí),瀏覽器可以繼續(xù)做任何事,Ajax發(fā)送請(qǐng)求并不會(huì)影響頁(yè)面的加載與用戶的操作,相當(dāng)于是在兩條線上,各走各的,互不影響。

一般默認(rèn)值為true,異步。異步請(qǐng)求可以完全不影響用戶的體驗(yàn)效果,無(wú)論請(qǐng)求的時(shí)間長(zhǎng)或者短,用戶都在專心的操作頁(yè)面的其他內(nèi)容,并不會(huì)有等待的感覺(jué)。

同步和異步有什么不同:

異步:在異步模式下,當(dāng)我們使用AJAX發(fā)送完請(qǐng)求后,可能還有代碼需要執(zhí)行。這個(gè)時(shí)候可能由于種種原因?qū)е?a title="服務(wù)器" target="_blank" >服務(wù)器還沒(méi)有響應(yīng)我們的請(qǐng)求,但是因?yàn)槲覀儾捎昧水惒綀?zhí)行方式,所有包含AJAX請(qǐng)求代碼的函數(shù)中的剩余代碼將繼續(xù)執(zhí)行。如果我們是將請(qǐng)求結(jié)果交由另外一個(gè)JS函數(shù)去處理的,那么,這個(gè)時(shí)候就好比兩條線程同時(shí)執(zhí)行一樣。

同步:在同步模式下,當(dāng)我們使用AJAX發(fā)送完請(qǐng)求后,后續(xù)還有代碼需要執(zhí)行,我們同樣將服務(wù)器響應(yīng)交由另一個(gè)JS函數(shù)去處理,但是這時(shí)的代碼執(zhí)行情況是:在服務(wù)器沒(méi)有響應(yīng)或者處理響應(yīng)結(jié)果的JS函數(shù)還沒(méi)有處理完成return時(shí),包含請(qǐng)求代碼的函數(shù)的剩余代碼是不能夠執(zhí)行的。就好比單線程一樣,請(qǐng)求發(fā)出后就進(jìn)入阻塞狀態(tài),知道接觸阻塞余下的代碼才會(huì)繼續(xù)執(zhí)行。

看以下代碼:

var flag=true;
var index=0;
$.ajax({
  url: "",
  success: function(data){
    flag=false;
  } 
});
while(flag){
  index++;
}
alert(index);

最終程序進(jìn)入了一個(gè)死循環(huán)

看以下代碼:

var flag=true;
$.ajax({
  url: "",
  success: function(data){
    flag=false;
  } 
});
alert(flag);

最終結(jié)果是true

js是單線程的,由于執(zhí)行ajax請(qǐng)求會(huì)消耗一定的時(shí)間,甚至出現(xiàn)了網(wǎng)絡(luò)故障而遲遲得不到返回結(jié)果;這時(shí),如果同步執(zhí)行的話,就必須等到ajax返回結(jié)果以后才能執(zhí)行接下來(lái)的代碼,如果ajax請(qǐng)求需要1分鐘,程序就得等1分鐘。如果是異步執(zhí)行的話,在等在server端返回的這個(gè)過(guò)程中,前臺(tái)會(huì)會(huì)繼續(xù)執(zhí)行ajax塊后面的腳本,直到server端返回正常的結(jié)果才會(huì)執(zhí)行success,這時(shí)候執(zhí)行的是兩個(gè)線程,ajax塊發(fā)出請(qǐng)求后一個(gè)線程和ajax塊后面腳本

var flag=true;
var index=0;
$.ajax({
  url: "",
  async:false,
  success: function(data){
    flag=false;
  } 
});
while(flag){
  index++;
}
alert(index);

最終結(jié)果是0

關(guān)于“ajax默認(rèn)提交方式是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

網(wǎng)頁(yè)名稱:ajax默認(rèn)提交方式是什么
文章分享:http://muchs.cn/article30/ijcoso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)