React native 反应本机后嵌套表单数据
我正在尝试使用formdata发布嵌套值。我是这样尝试的:React native 反应本机后嵌套表单数据,react-native,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
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))
})
}
{
"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" : ""
}
}
}
我从未在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))
})
}
{
"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" : ""
}
}
}
它给出了
无误的拒绝承诺
。有人能帮我吗 您使用了错误的内容类型来发送formdata,formdata的内容类型应为“multipart/form data”,而不是“application/json”。也可以考虑将数据发送为JSON.< /P>,可以向服务器添加一个catch并从服务器中查看错误吗?我尝试过,但是在最后,结果是相同的((内容类型应该是多部分的/形式的数据更改)