舉個例子:普通b/s模式(同步)ajax技術(非同步)
同步:提交請求->等待伺服器處理->處理完畢返回 這個期間客戶端瀏覽器不能幹任何事
非同步: 請求通過事件觸發->伺服器處理(這是瀏覽器仍然可以作其他事情)->處理完畢
同步就是你叫我去吃飯,我聽到了就和你去吃飯;如果沒有聽到,你就不停的叫,直到我告訴你聽到了,才一起去吃飯。
非同步就是你叫我,然後自己去吃飯,我得到訊息後可能立即走,也可能等到下班才去吃飯。
所以,要我請你吃飯就用同步的方法,要請我吃飯就用非同步的方法,這樣你可以省錢。
請求方式,分為get與post:
get
最為常見的http請求,普通上網瀏覽頁面就是get。get方式的引數請求直接跟在url後,以問號開始。(js中用 window.location.search獲得)。引數可以用encodeuricomponent進行編碼,使用方式:
var enparam = encodeuricomponent(param);
url只支援大約2k的長度,即2048字元數;使用get進行ajax請求時候會快取導致出現的頁面不是正確的,一般方法加random引數值;ajax.send(null)。
post
向伺服器提交資料用到。
web中非同步和同步的理解
普通的b s模式就是同步,而ajax技術就是非同步,當然xmlhttpreques有同步的選項。同步 提交請求 等待伺服器處理 處理完畢返回。這個期間客戶端瀏覽器不能幹任何事。非同步 請求通過事件觸發 伺服器處理 這是瀏覽器仍然可以作其他事情 處理完畢。舉個生動的例子吧 同步就是你叫我去吃飯,我聽到...
非同步和同步概念理解
所謂非同步輸入輸出機制,是指在進行輸入輸出處理時,不必等到輸入輸出處理完畢才返回。所以非同步的同義語是非阻塞 none blocking 舉個例子 普通 b s模式 同步 ajax 技術 非同步 同步 提交請求 等待伺服器處理 處理完畢返回 這個期間客戶端瀏覽器不能幹任何事 非同步 請求通過事件觸發...
如何理解PHP同步阻塞 和非同步IO?
至於為什麼要寫這篇文章,是因為在近日有個小夥伴突然問我,什麼是同步?什麼是非同步?概念是什麼?如何理解?我也相信還是有部分小夥伴在初級開發階段確實沒有太過於關注這個概念?這就說下我的理解!先科普下io io 是input和output的縮寫,這個詞在很多地方都會出現,是什麼不用多解釋,通常被稱為 輸...