vue html 跨域,vue请求跨域问题

请问各位大佬,vue,axios发送请求的时候如果参数直接写在url里面就可以请求成功, 但是单独分开写就会报错是啥原因?

后端java已经设置允许了跨域请求的

这里是分开写参数的时候,就会报错

8c22c6af19d78ef07ce83801786840ba.png

b1cbc97d1b7de805af6703d5c91a3709.png

这里是把参数直接写在url里面的时候,可以请求成功….

1a871286078e48f6f4fb6c80d7b477b7.png

cc85ab1ddb43465159b7cfc306a982a3.png

回答

post 复杂请求触发 option 请求了吧。

然后你直接放入 url 应该没触发 option 请求。

可以查看一下 network

是不是出现了OPTIONS请求,有的话 也要加上跨域设置

axios请求类型修改即可,需要了解后台需要使用formData还是json进行传输;

formData设置,axios请求头headers设置application/x-www-form-urlencoded,data传参需要转string:

headers: { 'content-type': 'application/x-www-form-urlencoded' }, // 请求头,发送FormData格式的数据,必须是 这种请求头。

data: qs.stringify({mobile: '17664068406'}), //发送请求要传的FormData参数。必须用 qs.stringify()序列化一下。

json传输:

headers: { 'content-type': 'application/json' }

注意,一般java都使用session验证登陆,所以需要打开withCredentials:true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值