加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 身份验证错误:预检的响应具有无效的HTTP状态代码405

发布时间:2020-12-17 07:49:11 所属栏目:安全 来源:网络整理
导读:我想实现身份验证.实际上,我的项目是在Angular 2 Beta中构建的,但我正在使用 this身份验证示例进行测试.我有自己的API,只是将其url添加到此示例项目中.它没有用)它显示了这个错误: Failed to load resource: the server responded with a status of 405 (Me
我想实现身份验证.实际上,我的项目是在Angular 2 Beta中构建的,但我正在使用 this身份验证示例进行测试.我有自己的API,只是将其url添加到此示例项目中.它没有用)它显示了这个错误:
Failed to load resource: the server responded with a status of 405 (Method Not Allowed)
Fetch API cannot load http://blah-blah-blah. Response for preflight has invalid HTTP status code 405

这是登录方法:

login(event,phone,password) {
event.preventDefault();
window.fetch('http://blah-blah-blah',{
  method: 'POST',headers: {
    'Accept': 'application/json','Content-Type': 'application/json'
  },body: JSON.stringify({
    phone,password
  })
})
.then(status)
.then(json)
.then((response:any) => {
  localStorage.setItem('access_token',response.id_token);
  this.router.parent.navigateByUrl('/home');
})
.catch((error) => {
  alert(error.message);
  console.log(error.message);
});
}
看起来您正在尝试进行跨域AJAX调用.为此,您的远程服务器API必须支持 CORS.飞行前请求是一个特殊请求,浏览器在发出实际POST请求之前使用OPTIONS动词发送:
OPTIONS http://blah-blah-blah

服务器必须使用正常的200状态代码进行响应,并包含正确的CORS标头,指示允许哪些域向其发出请求.只有在那之后才会发送实际的POST请求.

您的API的问题是端点向此OPTIONS请求返回了405 Not Noted状态代码.因此,您需要修复API,使其支持OPTIONS动词.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读