axios跨域时 返回200 但是请求方法变成options
axios跨域时 返回200 但是请求方法变成options 请求失败
代码:
axios.post('http://192.168.3.128/login',{username:'test',password:'test'}).then(function(){
console.log('salkdj');
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
当你的 ajax 的请求为非简单请求时,浏览器会进行预检,即发送 OPTIONS 请求到服务器,询问是否允许跨域。如果响应中允许你的预检中请求的跨域行为,则浏览器会进行真正的请求。否则,会报 405 错误。
花几分钟阅读一下文档,不然你后续还会有其他跨域相关问题的。
https://developer.mozilla.org...
这是前端能解决的吗?
还是学 NodeJS 吧,自己处理这类来自后端语言和服务器端的问题。
上面的说的都对, 我这里给出个解决办法
设置拦截器, 把content-type 设置成application/x-www-form-urlencoded, 降级为简单请求, 就不会发送options请求, 注意如果是post方法, 需要qs模块转换一下参数