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

ASP.NET API在React Native与Postman中POST请求返回结果不一致

问题原因与解决方案

核心问题

你的React Native代码中,response.json()是异步操作,返回的是Promise对象,直接console.log(response.json())只会打印Promise实例,而非实际的JWT令牌。Postman会自动完成响应解析流程,因此能直接展示令牌内容。

修复后的客户端代码

修改Login方法,等待response.json()完成解析:

Login = async (user: UserLoginDTO) => {  
    try {
      console.log(API + "/auth/login")
      const response = await fetch(API + "/auth/login", {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify(user)
      });
  
      if (!response.ok) {
        throw new Error('Failed to login user');
      }

      // 等待JSON解析完成,获取实际令牌
      const token = await response.json();
      console.log(token);
    }
    catch (error){
      console.log('Handled Error When Login:', error);
    }
  }

额外验证事项

  • 确认后端返回格式:ASP.NET的Ok(token)会将字符串令牌包装为JSON格式返回,response.json()解析后会得到字符串类型的令牌,与Postman返回内容一致。
  • 检查请求地址:若使用模拟器测试,localhost需替换为10.0.2.2(Android)或localhost/127.0.0.1(iOS),确保请求能正确到达后端服务。

内容的提问来源于stack exchange,提问作者Laurent K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:37:48