Javascript 在React Native中使用Post方法获取
我正在尝试在我的react native中使用post方法进行提取,但我始终收到一个错误:Javascript 在React Native中使用Post方法获取,javascript,react-native,Javascript,React Native,我正在尝试在我的react native中使用post方法进行提取,但我始终收到一个错误: TypeError: Network request failed at XMLHttpRequest.xhr.onerror (whatwg-fetch.js:504) at XMLHttpRequest.dispatchEvent (event-target.js:172) at XMLHttpRequest.setReadyState (XMLHttpRequest.js:580) at XMLHt
TypeError: Network request failed
at XMLHttpRequest.xhr.onerror (whatwg-fetch.js:504)
at XMLHttpRequest.dispatchEvent (event-target.js:172)
at XMLHttpRequest.setReadyState (XMLHttpRequest.js:580)
at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:394)
at XMLHttpRequest.js:507
at RCTDeviceEventEmitter.emit (EventEmitter.js:181)
at MessageQueue.__callFunction (MessageQueue.js:366)
at MessageQueue.js:106
at MessageQueue.__guard (MessageQueue.js:314)
at MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js:105)
用户创建页面
static createUser(Identity, FirstName, LastName, FiscalCode , Email) {
let formdata = new FormData();
formdata.append('Identity', JSON.stringify(Identity));
formdata.append('FirstName', (FirstName));
formdata.append('LastName', LastName);
formdata.append('FiscalCode', FiscalCode);
formdata.append('Email', Email);
return new Promise((resolve, reject)=> {
fetch('https://linktomyapi.com' , {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
},
body: formdata
})
.then((response) => response.json())
.then((responseData) => {
if(responseData.Error){
Alert.alert("Errore");
}
global.utente = responseData;
resolve(responseData)
})
.catch((err) => {reject(err)})
})
}
关于身份,我认为:
let Identity =
{
AppName:
{
Username: this.state.FiscalCode,
Password: this.state.Password
}
}
关于这一论点,我遵循了许多指南,但我不明白为什么我会收到这些错误 你能试试下面的方法吗
let params = {
Identity: JSON.stringify(Identity),
FirstName: FirstName,
LastName: LastName,
FiscalCode: FiscalCode,
Email: Email
}
return new Promise((resolve, reject)=> {
fetch('https://linktomyapi.com' , {
method: 'POST',
headers: {
"Content-Type": "application/json",
},
...(params && { body: JSON.stringify(params) })
})
.then((response) => response.json())
.then((responseData) => {
if(responseData.Error){
Alert.alert("Errore");
}
global.utente = responseData;
resolve(responseData)
})
.catch((err) => {reject(err)})
})
您确定您的内容类型是formdata吗?您可以尝试以下方法吗
let params = {
Identity: JSON.stringify(Identity),
FirstName: FirstName,
LastName: LastName,
FiscalCode: FiscalCode,
Email: Email
}
return new Promise((resolve, reject)=> {
fetch('https://linktomyapi.com' , {
method: 'POST',
headers: {
"Content-Type": "application/json",
},
...(params && { body: JSON.stringify(params) })
})
.then((response) => response.json())
.then((responseData) => {
if(responseData.Error){
Alert.alert("Errore");
}
global.utente = responseData;
resolve(responseData)
})
.catch((err) => {reject(err)})
})
是否确定您的内容类型为formdata?问题在于:
return new Promise((resolve, reject)=> {
fetch('https://linktomyapi.com' , {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
},
body: formdata
})
在fetch中,我将链接作为字符串传递
因此,正确的形式是:
return new Promise((resolve, reject)=> {
fetch(https://linktomyapi.com , {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
},
body: formdata
})
问题在于:
return new Promise((resolve, reject)=> {
fetch('https://linktomyapi.com' , {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
},
body: formdata
})
在fetch中,我将链接作为字符串传递
因此,正确的形式是:
return new Promise((resolve, reject)=> {
fetch(https://linktomyapi.com , {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
},
body: formdata
})
您是否参考了或@kish我尝试了他们的建议,但没有任何更改:/server是否具有适当的API?@hongdevelop是的,我已经使用CocoaRest进行了测试,它可以正常工作。这只是注册的问题。通过登录,它工作得很好。你是否参考了他们的建议或@kish我尝试了他们的建议,但没有任何改变:/server是否有合适的API?@hongdevelop是的,我使用CoCooarest进行了测试,它工作得很好。这只是注册的问题。登录后,它工作得非常完美。我现在尝试了,我收到了以下消息:错误:请求时不支持BodyInit类型。Body.\u initBody(whatwg fetch.js:279)在新请求时(whatwg fetch.js:398)在tryCallTwo时(core.js:45)在doResolve时(core.js:200)在新承诺时(core.js:66)在self.fetch时(whatwg fetch.js:485)在User.js:38在tryCallTwo(core.js:45)在doResolve(core.js:200)感谢您的支持,但我现在收到了我的Begging帖子中的相同错误:/@Jack23您是否必须使用
'Content-Type':'multipart/form data'
?,您可以将json数据发送到服务器吗?@JuniusL。是的,在API中,标题是'Content-Type':'multipart/form data'。是的,我可以将json数据发送到服务器,您不需要新Promise
,您只需返回返回fetch(…);
而不返回然后
和捕获
。我现在尝试了,我收到了以下消息:错误:请求时不支持BodyInit类型。Body。_initBody(whatwg fetch.js:279)在新请求时(whatwg fetch.js:398)在whatwg fetch.js:486在tryCallTwo(core.js:45)在doResolve(core.js:200)在new Promise(core.js:66)在self.fetch(whatwg fetch.js:485)在User.js:38在tryCallTwo(core.js:45)在doResolve(core.js:200)在感谢您的支持,但我现在收到了我的Begging帖子中的相同错误:/@Jack23您是否必须使用'Content-Type':'multipart/form data'
?,您可以将json数据发送到服务器吗?@JuniusL。是的,在API中,标题是'Content-Type':'multipart/form data'。是的,我可以将json数据发送到服务器,您不需要新Promise
,您只需返回返回fetch(…);
而不返回,然后返回和catch
。