AJAX中使用post,get接收發送數據的區別
阿新 • • 發佈:2017-09-12
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接收發送數據的區別