python Django request/post 相關
阿新 • • 發佈:2020-07-20
-
post傳送資料時候的對照
-
獲取值出現空的情況 (request.POST / request.body)
當request.POST沒有值 需要考慮下面兩個要求 1.如果請求頭中的: Content-Type: application/x-www-form-urlencoded request.POST中才會有值(才會去request.body中解析資料) 2.若1有,也不一定有值 必須有資料格式要求: name=alex&age=18&gender=男 如: a. form表單提交 預設就會滿足上訴的1和2 <form method...> input </form> b. ajax提交 $.ajax({ url:... type:POST, data:{ name:alex, age=18, } #預設也會滿足上訴1和2 請求頭預設為上述情況 內部資料格式會轉為上述情況 }) 自定義ajax 情況一 $.ajax({ url:... type:POST, headers:{'Content-Type':"application/json"} #不同的請求頭 導致request.POST獲取不了資料 而request.body依舊存在資料 data:{name:alex, age = 18} #內部自動轉換 name=alex&age=18 }) #即body有值 POST無值 自定義ajax 情況二 $.ajax({ url:... type:POST, headers:{'Content-Type':"application/json"} #不同的請求頭 導致request.POST獲取不了資料 而request.body依舊存在資料 data:JSON.stringfy{name:alex, age = 18} #{name:alex,age:18} }) #body有值 POST無值 #從 request.body裡獲取資料 然後再通過json.loads(request.body)