You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中如何通过Axios的then方法获取Express发送的文本?

解决React Native无法获取Express发送的文本内容问题

问题原因

你误用了Fetch API的text()方法获取响应内容,但Axios的响应结构与Fetch不同,Axios会把响应数据封装在data字段中。

解决方案

方案1:适配当前Express代码,直接使用Axios响应的data字段

Express端代码保持不变:

res.send("monday");

React Native端修改then回调中的代码,将e.text()替换为e.data:

let ti = await axios.post("http://localhost:3000/login", 
    {
        celular: celular,
        senha: senha,
    },
    {
        headers: {
            Accept: "application/json",
            "Content-Type": "application/json;charset=UTF-8",
        }
    }
).then(e => {
    Alert.alert(e.status.toString()); // 注意:Alert.alert接收字符串,需将数字类型的status转为字符串
    Alert.alert(e.data); // 直接获取Express发送的"monday"文本
})

方案2:改用JSON格式传输(推荐用于实际项目)

如果希望接口返回更规范的JSON格式,修改Express端代码:

// 方式1:返回字符串的JSON格式
res.json("monday");
// 方式2:返回带键值的对象(便于后续扩展字段)
res.send({ message: "monday" });

对应React Native端的获取方式:

  • 若用方式1,依旧通过e.data获取"monday"
  • 若用方式2,通过e.data.message获取"monday"

内容的提问来源于stack exchange,提问作者Diego Alves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:50:19