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