Authentication 使用Axios for React获取身份验证令牌时出现问题

Authentication 使用Axios for React获取身份验证令牌时出现问题,authentication,reactjs,axios,Authentication,Reactjs,Axios,我正在尝试在react应用程序中使用axios获取身份验证令牌 我得到的错误是: “无法加载XMLHttpRequest。飞行前的响应具有无效的HTTP状态代码400” 这是我的密码 var App = React.createClass({ getInitialState() { return { token: '' } }, componentDidMount() { var _this = this; axios.post('ht

我正在尝试在react应用程序中使用axios获取身份验证令牌

我得到的错误是: “无法加载XMLHttpRequest。飞行前的响应具有无效的HTTP状态代码400”

这是我的密码

 var App = React.createClass({
  getInitialState() {
    return {
      token: ''
    }
  },
  componentDidMount() {
    var _this = this;

    axios.post('https://api.mmitnetwork.com/Token', {
      grant_type: 'password',
      username: 'jpdesigning',
      password: 'Upahem2_88'
    }).then((response) => {
      console.log('Success!')
      _this.setState({
        token: response.data
      })
    }).catch((error) => {
      console.log(error)
    })
   },
  render() {
    return (
      <div className="App">
           {this.state.token}
      </div>
     );
  }
})

export default App;
var-App=React.createClass({
getInitialState(){
返回{
令牌:“”
}
},
componentDidMount(){
var_this=这个;
轴心柱https://api.mmitnetwork.com/Token', {
授予类型:“密码”,
用户名:“jpdesigning”,
密码:“Upahem2_88”
})。然后((响应)=>{
console.log('Success!')
_这是我的国家({
令牌:response.data
})
}).catch((错误)=>{
console.log(错误)
})
},
render(){
返回(
{this.state.token}
);
}
})
导出默认应用程序;

您的服务器需要允许跨源(CORS)客户端访问您的头,方法是在服务器的响应上设置以下头并告诉它它们是哪些头(这里您允许两个头:授权和权限-即包括自定义头)

默认情况下可访问的标题:

Cache-Control
Content-Language
Content-Type
Expires
Last-Modified
Pragma
读这里

来自php服务器的完整CORS访问示例

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true ");
header("Access-Control-Allow-Methods: OPTIONS, GET, POST");
header("Access-Control-Expose-Headers: Authorization");
header("Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size,
X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control");

您的服务器需要允许跨源(CORS)客户端访问您的头,方法是在服务器的响应上设置以下头并告诉它它们是哪些头(这里您允许两个头:授权和权限-即包括自定义头)

默认情况下可访问的标题:

Cache-Control
Content-Language
Content-Type
Expires
Last-Modified
Pragma
读这里

来自php服务器的完整CORS访问示例

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true ");
header("Access-Control-Allow-Methods: OPTIONS, GET, POST");
header("Access-Control-Expose-Headers: Authorization");
header("Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size,
X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control");

您需要设置
with credentials:true,
头,这将随此请求一起发送cookie

您需要设置
with credentials:true,
头,这将随此请求一起发送cookie

确保您的服务器支持cors请求并打印response.data以检查从服务器返回的内容。我尝试返回response.data,但没有收到任何响应,因为它捕获了错误。这是一个错误的要求。但它有什么不好?可能是与cors相关的问题。尝试使用axios发送
cors
请求。xhr.js:175 OPTIONS dispatchxhrequest@xhr.js:175xhrAdapter@xhr.js:12dispatchRequest@dispatchRequest.js:52 localhost/:1 XMLHttpRequest无法为飞行前加载具有无效的HTTP状态代码400 App.js:31错误:网络错误(…)确保您的服务器支持cors请求并打印response.data以检查从服务器返回的内容。我尝试返回response.data,但没有收到任何响应,因为它捕获了错误。这是一个错误的要求。但它有什么不好?可能是与cors相关的问题。尝试使用axios发送
cors
请求。xhr.js:175 OPTIONS dispatchxhrequest@xhr.js:175xhrAdapter@xhr.js:12dispatchRequest@dispatchRequest.js:52 localhost/:1 XMLHttpRequest无法为飞行前加载具有无效的HTTP状态代码400 App.js:31错误:网络错误(…)即使未经授权,也应使服务器响应选项请求。这似乎是您遇到的错误400。您还应该让服务器响应选项请求,即使未经授权。看起来这就是你得到的错误400。