Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: No 'Access-Cont

标题上写不上了,直接观看下面的截图。

1.现象

2.分析原因

屏幕前的你是不是也遇到了这样的问题?你知道为什么会出现这样的问题吗?就是因为跨域引起的问题。

还不知道什么是跨域?简单来讲:就是跨域不同的域名进行访问。由于在不同域名间访问的不安全性,所以有了跨域的诞生。

具体概念如下:只要协议、域名、端口有任何一个不同,都被当作是不同的域。为什么会产生跨域这个问题呢,要是随便引用外部文件,不同标签下的页面引用类似的彼此的文件,浏览器很容易懵逼的,安全也得不到保障。

3.解决问题:

由于我使用的是vue+axios做的小demo,就用这个来解释。

找到config下的index.js文件,修改里面的内容:

Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: No 'Access-Cont_第1张图片

看上图:

此段代码表示,如果请求地址以/api开头,则自动加上target。 如:/api/weather/index 等于 http://v.juhe.cn/weather/index 。

changeOrigin : true 表示允许跨域。

请求是的代码:

Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: No 'Access-Cont_第2张图片

4.成功的效果

Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: No 'Access-Cont_第3张图片

其实这个呀就算是成功了,请求时携带的参数不正确,所以导致出现了这样的问题。正常返回data数据

你可能感兴趣的:(vue)