Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在React Native中使用Post方法获取_Javascript_React Native - Fatal编程技术网

Javascript 在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

我正在尝试在我的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 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