问答

js数据格式转换问题

作者:admin 2021-05-13 我要评论

现在我遇到这样一个问题 const handleSave = () = { request('abc.htm', { method: 'post', params: { productId: paramsObject.productId, ticketMainKindVid, ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

现在我遇到这样一个问题

const handleSave = () => {
    request('abc.htm', {
      method: 'post',
      params: {
        productId: paramsObject.productId,
        ticketMainKindVid,
        params: atomicItems
      }
    }).then(data => {
      if (data.success) {
        message.success('保存成功')
      }
    })
  }

我的atomicItems格式是这样的

[
        {
            "ticketKindType":"Audit",
            "ticketKindDesc":"成人票",
            "ticketKindVid":456,
            "amount":2,
            "minAge":18,
            "maxAge":60
        },
        {
            "ticketKindType":"Child",
            "ticketKindDesc":"儿童票",
            "ticketKindVid":123,
            "amount":1,
            "minAge":3,
            "maxAge":8
        }
    ]

但是请求到服务端之后,在network变成了这样
image.png

问一下大家这是怎么回事,要怎么解决

###

看不到你怎么封装的请求 。 不过你把 params改成data试试
http://www.axios-js.com/zh-cn...

const handleSave = () => {
    request('abc.htm', {
      method: 'post',
      data: {
        productId: paramsObject.productId,
        ticketMainKindVid,
        params: atomicItems
      }
    }).then(data => {
      if (data.success) {
        message.success('保存成功')
      }
    })
  }
###

首先你要给出来,你的request到底是用的哪家封装的工具?
原生的 fetch或者XMLHttpRequest都是不支持这样传递数据的。

###

请求method没有设置正确,期望是POST请求,但是实际看截图是个GET请求。检查下为啥变成了GET请求了

###

多谢各位回复。是因为umi-request把params作为url的参数,把data作为请求数据,所以我写的params时,他把我的数据当作url的参数了,

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 请问下prometheus怎么进行自定义的按业

    请问下prometheus怎么进行自定义的按业

  • 节流函数为什么,点击无效,监听窗口大

    节流函数为什么,点击无效,监听窗口大

  • express访问静态资源失败

    express访问静态资源失败

  • IE 浏览器下 match 方法报错

    IE 浏览器下 match 方法报错

腾讯云代理商
海外云服务器