微信小程序:POST請求data數據請求不到

 最近開始開發小程序,遇到許多小問題,直奔主題。jquery

  

  wx.request()是微信封裝的ajax請求方法,也是小程序中ajax惟一的一個方法,被放在了API文檔的第一個位置,的確使用率是最高的。ajax

  可是wx.request()並不是像jquery中的$.ajax()同樣,它還須要開發者在具體狀況中作一些調整。小程序

 

 

  在直接發送POST請求時,請求成功,能夠觸發success回調,可是請求到的數據爲空。這其中的問題出在https請求的header上。(上圖爲header未設置時的狀況)微信

  

  當把請求header的content-type設置爲application/x-www-form-urlencoded後,數據就能正常請求到了。app

請求數據內容正確post

 

  這種content-type爲application/x-www-form-urlencoded時,數據會轉換爲query string形式:測試

這種跟在url後的形式,數據長度受限。url

 

  默認狀態下則是這種形式:設計

   可見,修改header的確請求到了數據,可是這種方法徹底違背了header的理念,get請求才應該將數據掛在url後面,而post請求所發送的數據會有可能超出query string形式的長度限制。3d

  網上有說content-type寫成小寫時post請求能夠成功,可是本人測試無效。

  感受這應該是一個設計缺陷,好在小程序都很簡單,通常不會有須要傳遞特別多參數的請求。

  若是有其餘解決方法或者緣由分析歡迎指點。

相關文章
相關標籤/搜索