EncType:
enctype 屬性規定在發送到服務器之前應該如何對表單數據進行編碼。
默認地,表單數據會編碼為 "application/x-www-form-urlencoded"。就是說,在發送到服務器之前,所有字符都會進行編碼。
如下圖所示Content-Type:
application/x-www-form-urlencoded編碼類型的發送和接收
窗體數據被編碼為名稱/值對格式
客戶端:
發送"test=I'm Egret"
服務端:
application/json的發送和接收
序列化后的 JSON 字符串
客戶端:
服務端:
1. 用file_get_contents拿Post數據。$_POST['test']取不到數據。
2. 然后使用json_decode解碼轉化為數組格式。
3. 一般用於php接口中
后者可以直接使用PHP的$_post直接獲取
因為后者是瀏覽器編碼好的名稱/值對格式
前者是發送的原始json數據
需要PHP使用php_get_contents獲取原始數據進行json_decode解碼為數組使用
附錄:
axios
Vue2.0之后,尤雨溪推薦大家用axios替換JQuery ajax,想必讓axios進入了很多人的目光中。
axios 是一個基於Promise 用於瀏覽器和 nodejs 的 HTTP 客戶端,本質上也是對原生XHR的封裝,只不過它是Promise的實現版本,符合最新的ES規范,它本身具有以下特征:
1.從瀏覽器中創建 XMLHttpRequest
2.支持 Promise API
3.客戶端支持防止CSRF
4.提供了一些並發請求的接口(重要,方便了很多的操作)
5.從 node.js 創建 http 請求
6.攔截請求和響應
7.轉換請求和響應數據
8.取消請求
9.自動轉換JSON數據
PS:防止CSRF:就是讓你的每個請求都帶一個從cookie中拿到的key, 根據瀏覽器同源策略,假冒的網站是拿不到你cookie中得key的,這樣,后台就可以輕松辨別出這個請求是否是用戶在假冒網站上的誤導輸入,從而采取正確的策略。