NervJS / taro

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/
https://docs.taro.zone/
Other
35.34k stars 4.77k forks source link

Taro.request对于H5和小程序的参数处理方式不一致 #9396

Closed darkfiredarkhalo closed 1 year ago

darkfiredarkhalo commented 3 years ago

相关平台

H5

浏览器版本: Chrome 使用框架: React

复现步骤

post请求的data参数在小程序中不需要自己JSON.stringify(), 在h5却需要

期望结果

Taro.request对于H5和小程序的参数处理方式一致

实际结果

Taro.request对于H5和小程序的参数处理方式不一致

环境信息

👽 Taro v3.2.1

  Taro CLI 3.2.1 environment info:
    System:
      OS: macOS 11.2.1
      Shell: 5.8 - /bin/zsh
    Binaries:
      Node: 12.16.1 - /usr/local/bin/node
      Yarn: 1.22.4 - /usr/local/bin/yarn
      npm: 7.6.3 - /usr/local/bin/npm
    npmPackages:
      @tarojs/cli: 3.2.8 => 3.2.8 
      @tarojs/components: 3.2.8 => 3.2.8 
      @tarojs/mini-runner: 3.2.8 => 3.2.8 
      @tarojs/react: 3.2.8 => 3.2.8 
      @tarojs/runtime: 3.2.8 => 3.2.8 
      @tarojs/taro: 3.2.8 => 3.2.8 
      @tarojs/webpack-runner: 3.2.8 => 3.2.8 
      babel-preset-taro: 3.2.8 => 3.2.8 
      eslint-config-taro: 3.2.8 => 3.2.8 
      react: ^17.0.0 => 17.0.2 
      taro-ui: ^3.0.0-alpha.3 => 3.0.0-alpha.10 
zybieku commented 2 years ago

我也发现了,而且 JSON.stringify() 在fail的时候 response的内容吧 会转换成 {} 空对象 建议用response.json().then()更好点,taro h5默认使用的是featch请求

ZakaryCode commented 1 year ago

Taro.request对于H5和小程序的参数处理方式不一致

在 #714 就已经开始自动转换类型为 object 的参数

我也发现了,而且 JSON.stringify() 在fail的时候 response 的内容吧 会转换成 {} 空对象

JSON.stringify 仅对入参使用,response 内容使用的是 response.json()