感谢各位大佬的热心留言,我的问题解决了,是跨域导致的!
我在发送请求的时候添加了请求头"token,userId,Content-Type"
xhr.setRequestHeader('token', options.data.token);
xhr.setRequestHeader('userId', options.data.userId);
xhr.setRequestHeader('Content-Type', 'application/json;charset-utf-8');
此时后端通过"CORS"解决跨域问题
"9a71048f1376686ccc559ca76b3fb16.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/6cd68f1aedc390f75714a3ede27ad259.png)
可以看到此时"Access-Control-Expose-Headers: *"
问题正是出在这里
可以看这篇文章写的很清晰"再遇CORS -- 自定义HTTP
header的导致跨域" (https://link.segmentfault.com/?enc=EU7%2Faytjs%2FN3xDhhJ0kkJw%3D%3D.H2gMNK8MqK6fPAVB7VBEK8Tvj1UdXqVFqwNX92IVtMpuxeVMnHTn70C0whqTcx7D)
也可以参考这个问题 "参考链接" (https://segmentfault.com/q/1010000018720493)
服务端应该修改"Access-Control-Allow-Headers"中的"*"号为具体的字段
resp.headers['Access-Control-Allow-Headers'] = 'content-type,token,userId'
这里是修改后的样子,至此问题解决
"c28d8e32e45ed354267bfc585aafe61.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/bbca6711e1302be79690c1b49131dc80.png)