vue本地向后端发送请求为什么没发生跨域
1、后端及web服务没做过跨域设置
2、看过跨域文章,但是对跨域发生场景还是不清楚有时会碰到有时有不会
2019-08-30 14:47修改问题
经测试在请求头为Content-Type:application/x-www-form-urlencoded时正常返回数据
axios({
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
method: "post",
url:
"https://bdapp.***.cn/api.php/portal/lists/getCategoryPostLists",
data: param
}).then(function(res) {
console.log(res.data);
});
将请求头改为Content-Type: application/json后返回分类不存在,并且返回options
另外,在api.php添加下面代码后不能解决options没有返回数据问题
header('Access-Control-Allow-Origin:'); //允许跨域请求的域名地址 可以为表示接受所有地址
header('Access-Control-Allow-Methods:*'); //允许的请求方式
header('Access-Control-Allow-Credentials:true'); //可选 是否允许客户端提交cookie
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
get请求应该是不跨域的吧,试试post(传递json)?
即简单请求和非简单请求。非简单请求才会跨域
跨域这个只有你的content-type为application/json的时候才会发生,前提是前后端不在一个服务器或者用的不通端口,希望对你有帮助
问问后端有没设置 Access-Control-Allow-Origin * 设置为 为星号 就允许了跨域
可以在浏览器中看一看每次请求是不是在network中会产生两个一模一样的请求,其中一个时option请求,另一个是真实请求。如果是这样的话,说明后端设置了允许跨域,就是上面说的Access-Control-Allow-Origin *