问题描述:当前系统需要访问某个网站的接口xxx,但是由于安全限制需要在请求头带俩字段验证token之类的,请求方法需要向后端带上 token 如下para里面两个数据字段,请求方式是 POST ,但是数据返回时跨域阻断报错了:
找了半天原因,跟后端说跨域了,后端说他已经设置了允许跨域,这个:
Access-Control-Allow-Origin: *
解决方式:
然后找了半天原因,各种搜索(要怪只能怪自己学识浅薄)都想骂人了,然后找到原因,告诉后端是需要后端在响应头的 Access-Control-Allow-Headers 字段设置允许前端请求时带有的字段值,比如下面这是改进后的:
Access-Control-Allow-Headers: Content-Type,Access-Token,Appid,Secret,Authorization
就是必须要设置允许设置的请求头带有的字段: Secret 和 Appid
_getData({
url: 'xxxxxx',
para: {
DeviceName: 'test',
IP: "192.168.66.99",
},
contentType: 'application/json',
beforeSend: function (xhr) {
xhr.setRequestHeader('Secret', 'xxx');
xhr.setRequestHeader('Appid', 'xxx');
},
})