微信小程序wx.request中post请求时data中参数不能传到后台
當使用POST方式請求時,后端無法獲取data中的數(shù)據(jù),
將:
'content-type': 'application/json'修改為:
'content-type': 'application/x-www-form-urlencoded',========================
常見的表單數(shù)據(jù)提交方式有如下:
- application/x-www-form-urlencoded
- application/json
- multipart/form-data
- text/xml
(1)application/x-www-form-urlencoded
最常見的 POST 提交數(shù)據(jù)的方式。瀏覽器的原生 form 表單,如果不設(shè)置 enctype 屬性,那么最終就會以 application/x-www-form-urlencoded 方式提交數(shù)據(jù)。
首先,Content-Type 被指定為 application/x-www-form-urlencoded;其次,提交的數(shù)據(jù)按照 key1=val1&key2=val2 的方式進行編碼,key 和 val 都進行了 URL 轉(zhuǎn)碼。大部分服務端語言都對這種方式有很好的支持。
(2)application/json
這個 Content-Type 作為響應頭大家肯定不陌生。實際上,現(xiàn)在越來越多的人把它作為請求頭,用來告訴服務端消息主體是序列化后的 JSON 字符串。由于 JSON 規(guī)范的流行,除了低版本 IE 之外的各大瀏覽器都原生支持 JSON.stringify,服務端語言也都有處理 JSON 的函數(shù),使用 JSON 不會遇上什么麻煩。
JSON 格式支持比鍵值對復雜得多的結(jié)構(gòu)化數(shù)據(jù)。
Google 的 AngularJS 中的 Ajax 功能,默認就是提交 JSON 字符串。
(3)multipart/form-data
我們使用表單上傳文件時,必須讓 form 的 enctyped 等于這個值。
消息主體里按照字段個數(shù)又分為多個結(jié)構(gòu)類似的部分,每部分都是以 –boundary 開始,緊接著內(nèi)容描述信息,然后是回車,最后是字段具體內(nèi)容(文本或二進制)。如果傳輸?shù)氖俏募?#xff0c;還要包含文件名和文件類型信息。消息主體最后以 –boundary– 標示結(jié)束。
(4)text/xml
XML-RPC是一種使用 HTTP 作為傳輸協(xié)議,XML 作為編碼方式的遠程調(diào)用規(guī)范
XML-RPC 協(xié)議簡單、功能夠用,各種語言的實現(xiàn)都有。它的使用也很廣泛,如 WordPress 的 XML-RPC Api,搜索引擎的 ping 服務等等。
?
?
總結(jié)
以上是生活随笔為你收集整理的微信小程序wx.request中post请求时data中参数不能传到后台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 是时候该放手了的句子120个
- 下一篇: 印象普陀宣传文案30句