react-native - Postman API 调用效果很好 - 但来自 Axios (React Native) 的相同 API 调用返回网络错误
问题描述
我正在尝试在 React Native 中进行一些基于令牌的基本身份验证。
我有一个 API 端点,当我通过 Postman 提交 POST 请求时,它会向我发回一个令牌,没有问题。
但是,当我在我的应用程序中运行类似的 POST 请求时,它会返回网络错误。
这是我用来在我的应用程序中处理身份验证的代码:
import React, { useState } from 'react';
import { AsyncStorage } from 'react-native';
import * as SecureStore from 'expo-secure-store';
import axios from 'axios';
axios.defaults.baseURL = 'https://phplaravel-650853-2123089.cloudwaysapps.com';
export const AuthContext = React.createContext({});
export const AuthProvider = ({children}) => {
const [user, setUser] = useState(null);
const [error, setError] = useState(null);
return (
<AuthContext.Provider
value={{
user,
setUser,
error,
login: (email, password) => {
axios.post('/api/auth/login', {
email,
password,
device_name: 'mobile',
})
.then(response => {
const userResponse = {
email: response.data.email,
token: response.data.token
}
setUser(userResponse);
setError(null);
SecureStore.setItemAsync('user', JSON.stringify(userResponse));
})
.catch(error => {
const key = Object.keys(error.response.data.errors)[0];
setError(error.response.data.errors[key][0]);
console.log(error);
})
},
logout: () => {
setUser(null);
SecureStore.deleteItemAsync('user');
}
}}>
{children}
</AuthContext.Provider>
);
}
还应该注意的是,这在以前确实在某个时候起作用——我无法弄清楚从那时起真正发生了什么变化。
有什么想法我可能会错过吗?
解决方案
推荐阅读
- node.js - 如何使用 Paypal Express 确保一次性交付
- pdf - 如何在 Ghostscript 命令行中计算 dPermissions 参数?
- python - 尝试在 Windows 上安装包时拒绝访问
- objective-c - 为什么 Xcode 不记录这些用户界面测试?
- java - 这个Java猜谜游戏程序中嵌套的do-while循环的作用是什么?
- javascript - 当 Sequelize 查询是一个承诺时,为什么我需要一个承诺?
- xcode - 需要 8.0 后,主情节提要发生了变化。现在项目中有100多个错误
- constraint-programming - CP - OPL 切片输入数组
- python - 通过 pip 升级 PYWIN32 -- 错误无法卸载...由 distutils 安装...'
- java - 为什么解析 pom 失败?