我正在尝试使用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
。有人可以帮我吗?
答案 0 :(得分:1)
您使用了错误的内容类型来发送formdata。对于formdata,内容类型应该为“ multipart / form-data”,而不是“ application / json”。还可以考虑将数据作为json发送。