1. 程式人生 > >AJAX中使用post,get接收發送數據的區別

AJAX中使用post,get接收發送數據的區別

type 方式 cati .com 接收 ges ima con url

如何發起請求

xhr.send();

備註:

如果是get方式,send()命令中不用寫任何參數
傳遞的數據可以寫在url中,服務器用$_GEET[“參數名”]接收

如果是post方式發送請求,需要設置頭才能正確把數據傳遞給後端頁面
xhr.setRequestHeader(‘Content-type‘,‘application/x-www-form-urlencoded‘);
xhr.send(‘數據名1=數據值&數據名2=數據值‘),服務器用$_POST["參數名接收"]。

W3C建議我們使用get獲取數據,使用post發送數據。

但實際上,無論是get還是post,都即可以發送數據,也可以接收數據。

區別:

get是以url的方式傳遞數據;而post是以http請求中的body部分傳遞數據。所以有種說法說post更安全。
get傳遞數據時,直接在瀏覽器地址欄中可以看到;而post可以使用開發者工具中看到。
get傳遞數據的最大量為4kb(不同瀏覽器不一樣);而post通過設置服務器可以為無限大。
get傳遞的數據,中文會被編碼或有可能出現亂碼;而post不會。
get在IE下會走緩存;而post不會

技術分享

AJAX中使用post,get接收發送數據的區別