反应本机后嵌套表格数据

时间:2020-05-20 10:55:21

标签: react-native

我正在尝试使用formdata发布嵌套值。我这样尝试过:

const {phone} = this.state

      let formdata1 = new FormData();
      let formdata2 = new FormData();
      let formdata3 = new FormData();

      formdata1.append("0","h23")
      formdata2.append("address1",formdata1)
      formdata2.append("use_for_shipping",true)
      formdata2.append("first_name","isa")
      formdata2.append("last_name","annamyradow")
      formdata2.append("email","isaanna98@gmai.com")
      formdata2.append("city","ashgabat")
      formdata2.append("state","TKM")
      formdata2.append("postcode","110092")
      formdata2.append("country","TKM")
      formdata2.append("phone",{phone})

      formdata3.append("billing", formdata2)

      console.warn(JSON.stringify(formdata2))

       fetch(`http://arzan.com.tm/market/api/checkout/save-address`, {
          method: 'POST',
          headers: {
              'Accept': 'application/json',
              'Content-Type': 'application/json',
          },
          body: formdata2



      })

          .then((response) => response.json())
          .then((res) => {
            console.warn('zakaz:   '+JSON.stringify(res))
          })
          }

我从没在React-native中遇到过这种对象结构。我根据对formdata的推论尝试过。我知道有一些不足。实际发布的数据结构应该像这样:

{
    "billing" :  {
        "address1" : { "0" : "h23" },
        "use_for_shipping" : "true",
        "first_name" : "john",
        "last_name" : "doe",
        "email" : "john@webkul.com",
        "city" : "noida",
        "state"  :"DL",
        "postcode" : "110092",
        "country" : "IN",
        "phone" : "8802097347"
    },
    "shipping" : {
        "address1" : {
        "0" : ""
        }
    }
}

它给出Unhadled Promise Rejection。有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您使用了错误的内容类型来发送formdata。对于formdata,内容类型应该为“ multipart / form-data”,而不是“ application / json”。还可以考虑将数据作为json发送。