亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這樣做有什么好處?和加載頁面后通過javascript發起一個ajax請求有什么區別嗎?

這樣做有什么好處?和加載頁面后通過javascript發起一個ajax請求有什么區別嗎?

qq_笑_17 2023-04-16 17:13:37
發現有些web程序中會在頁面中放置一個隱藏的img,然后把它的src設置為調用后臺業務邏輯的url。
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

需要注意的是,此類請求只能是GET,所以只適合統計等用途,不能用于觸發發表評論、刪除文件等操作。

查看完整回答
反對 回復 2023-04-20
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

方便收集信息,以及塞信息,簡單說,每個請求,都可以收集到cookie,也可以放cookie到客戶瀏覽器中

查看完整回答
反對 回復 2023-04-20
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

主要應用于只需要向服務器發送數據(日志數據)的場合,且無需服務器有消息體回應。比如收集訪問者的統計信息。

一般做法是服務器用一個1x1的gif圖片來作為響應,當然這有點浪費服務器資源。因此用header來響應比較合適,目前比較合適的做法是服務器發送"204 No Content",即“服務器成功處理了請求,但不需要返回任何實體內容”。

另外該腳本的位置一般放在頁面最后以免阻塞頁面渲染,并且一般情況下也不需要append到DOM中。通過它的onerror和onload事件來檢測發送狀態。

<script type="text/javascript">
 var thisPage = location.href; var referringPage = (document.referrer) ? document.referrer : "none"; var beacon = new Image();
 beacon.src = "http://www.example.com/logger/beacon.gif?page=" + encodeURI(thisPage)
 + "&ref=" + encodeURI(referringPage);</script>

這樣做和ajax請求的區別在于:
1.只能是get請求,因此可發送的數據量有限。
2.只關心數據是否發送到服務器,服務器不需要做出消息體響應。并且一般客戶端也不需要做出響應。
3.實現了跨域。


查看完整回答
反對 回復 2023-04-20
  • 3 回答
  • 0 關注
  • 277 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號