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动词. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |