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


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

  

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

  但是wx.request()並非像jquery中的$.ajax()一樣,它還需要開發者在具體情況中做一些調整。

 

 

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

  

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

請求數據內容正確

 

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

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

 

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

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

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

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

  如果有其他解決方法或者原因分析歡迎指點。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM