调用 Fetch API 后没有得到任何东西 - React Native

Posted

技术标签:

【中文标题】调用 Fetch API 后没有得到任何东西 - React Native【英文标题】:Not Getting anything back after calling Fetch API - React Native 【发布时间】:2021-12-14 16:50:23 【问题描述】:

我正在创建一个 React Native,在其中我使用 Fetch 将表单的数据发送到后端 Node.js,一切正常,但在 fetch api 后我无法执行任何操作,即使 console.log 没有运行。

React-Native 代码:

const PostData  = () =>

        console.log("Posting");


        //Sending Request to Node.js using Fetch API
        fetch("http://192.168.0.107:3000/Adminsignup", 

            //Setting Method
            method:"POST",

            //Setting Headers
            headers:
                //Setting Content-Type
                "Content-Type" : "application/json"
            ,
            //Stringifying the email and password and storing it into body
            body:JSON.stringify(
                name,
                gmail,
                password,
                retype
            )
        ).then(res=>
            console.log(res);
        ).catch(err=>
            console.log(err);
        )
     

.then.catch 的 fetch api 不起作用。

【问题讨论】:

为什么要混合 async-await 和 promise? .使用异步等待或承诺 好的,我现在正在使用异步,但我仍然没有得到回复 如果您真的完全切换到异步样式,并且不再使用then()anymore,那么请编辑您的帖子以显示新代码。 我尝试过承诺,现在我的代码已更新 在您分享的代码中,您定义了一个函数,但您没有调用它。你真的在任何地方打电话给PostData()吗? 【参考方案1】:

好的,所以你的前端代码都很好,正如你所说,当你启动 PostData() 函数时你的后端也在工作,检查你是否从后端返回响应。

将此添加到您的注册路线中:

res.status(200).send(result:"Successfully got Response")

像这样在前端捕获状态:

let final = await fetch("http://192.168.0.107:5000/studentSignup", 
            //Setting Method
            method:"POST",
            //Setting Headers
            headers:

                //Setting Content-Type
                "Content-Type" : "application/json"
            ,
            //Stringifying the email and password and storing it into body
            body:JSON.stringify(name,gmail,password,retype)
        )

        const data = final.status;
        if(data === 200)
        
            navigation.navigate("Your Route");
        

【讨论】:

以上是关于调用 Fetch API 后没有得到任何东西 - React Native的主要内容,如果未能解决你的问题,请参考以下文章

Fetch API - 重定向的用途:手册

Fetch在等待很长时间时给出空响应

.NET Core 3.1 中使用 Fetch API 的 Ajax 调用

Fetch API:请求完成后“await res.json()”会失败吗?

使用 Moshi 从 Retrofit 调用中没有得到任何结果

Fetch请求