Vuecli 前端跨域问题解决

前端跨域问题解决

跨域最好的解决办法就一个让后端解决,前端只能设置本地代理

但如果后端说:我这设置了允许跨域的,你这怎么会跨域呢......要是后端说他已经设置好了跨域问题,觉得是前端的问题我们千万不要埋头自己去找问题

后端可能会抛出以下质疑:

质疑1

我这postman里面明明可以正常访问的,为啥你这就会跨域呢?

        要理解什么是跨域,跨域是指的当前资源访问其他资源时发起的http请求由于安全原因(由于同源策略,域名、协议。端口中只要有一个不同就不同源),浏览器限制了这些请求的正常访问,特别需要注意的是这些发生在浏览器中。而通过postman等工具调用接口时,只是简单的访问一个资源,并不存在资源的相互访问。并不是说postman正常浏览器就正常的。

质疑2

后端:你看我这都是*(给你截图一堆看不懂的后端代码),是允许所有的都可以访问的

        1.如果没有响应标头,可以直接先试试其他的Ajax请求方法,比如我是试了一下uniapp的请求方法也是跨域。

       2. 检查一下响应标头,如果属性重复了,也会有问题。下面是正常情况下的响应标头

         3.在发起post请求时,代码不止发一次,会先发一个options请求,所以,注意不要重复添加,否则也不能解决问题

质疑3:你对接其他的接口都没报跨域,怎么就这一个接口报跨域了

        估计是这一个接口报错,浏览器也会解析出跨域的报错。先到postman看看,是不是500之类的报错

质疑4:我这边已经都配置好了,你这么还是报错嘞,我接口给别人都正常的,他们没有跨域。

        如果别人都正常,那就不要怪后端了,看看什么原因。注意如果是HTTPS域名是不能访问http 的api接口,要不然也会报错。也要注意api请求接口是HTTPS还是http。

说什么前端代理啥的都不要看,不能让后端闲着

猜你喜欢

转载自blog.csdn.net/qq_35946021/article/details/127996879