总结一下问题:我用postman发送请求正常响应。使用 VUE就总是跨域,后端接口报308查了很多资料,啊啊啊,想打我自己,后来发现很简单就是我的请求接口少加了"/"正确的路径是http://localhost:8090/api_2_0/login/后边的/忘写了。。。一个教训吧。记录一下...
以
前
用的都是vue-cli2脚手架做vue项目,最近想着得跟着时代的步伐,于是更换成了vue-cli3,结果后台给了个https://xxx.xxxx.xx的代理地址,一开始代理模块自己如下写法,结果就有了接下来的接口骚操作
devServer: {
// 配置代理
proxy: {
"/api/v1": {
target: 'https://xxx.xxx.xx',
changeOrigin: true,
<head><title>
308
Permanent Redirect</title></head>
<center><h1>
308
Permanent Redirect</h1></center>
<hr><center>ngi...
postman可以正常
请求
,但是后端代码
请求
返回,protocol=http/1.1, code=
308
, message=Permanent Redirect
308
重定向
是什么状态
重定向
编码,有301、302和307、
308
,一般我们遇到的都是浏览器端的302
重定向
,其他几个很少遇到。下面是一篇关于这几种状态码的介绍
HTTP 中的 301、302、303、307、
308
响应
状态码
先说一下我是如何解决的,原本
请求
的是http协议,与接口方了解后,有https协议,换..
可以看到我们postman确实是post
请求
,message却报错不支持get
请求
,说明服务器实际上收到的是一个get
请求
。
如果我们访问的是线上的接口,线上的nginx一般都会对http访问做一个302
重定向
,跳转为https访问。
如果我们正常访问一个页面,它会把http跳转为https,之后由https访问的接口就都是https得了。但如果我们用postman直接访问接口,nginx会把我们访问的http
请求
跳转为https
请求
,做了302跳转之后的
请求
就会由post变为get请
(1) 初始化Cache对象
在最开始初始化各个拦截器的时候,到CacheInterceptor对象创建的时候初始化了Cache。
getResponseWithInterceptorChain();
interceptors.add(new CacheInterceptor(client.internalCache()));
在开始
请求
的时候需要初始化C...
跨域问题Response to preflight request doesn‘t pass access control check: No ‘Access-Control-Allow-Origin
场景:
前
端跟后台联合开发的时候,在局域网内,浏览器访问别人的地址可以获取数据,但是通过接口
请求
,就会跨域
解决方法:现在是vue项目,用axios
请求
,
前
端这边单独解决这个问题,不需要后端处理
第一、找到config/index.js
设置proxyTable,实际上就是设置代理路径(PS:设置config文件之后,需要重新npm run dev)
dev: {
Vue 要实现异步加载需要使用到 vue-resource 库。
Vue.js
2.0 版本推荐使用 axios 来完成 ajax
请求
。
先导入一个线上cdn的地址,也可以去npm安装,个人建议下载本地用
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>
实现GET
请求
<div id=”box”>