我将 VueJS 与 vue-request 一起用于 http 请求。我正在尝试为用户订阅 Mailchimp
列表,但 Mailchimp
使用 BasicAuth
,所以我这样做:
scope.$http.post('https://us15.api.mailchimp.com/3.0/lists/listid/members',
{...mydata...}, {headers: {Authorization: 'Basic myencodedAPIkey'}})
但我从 API 收到错误消息:401 未授权 - 您的请求不包含 API key 。
所以我检查了 Chrome 上的网络日志,授权在我的 header 上是这样的:**Access-Control-Request-Headers: authorization**
但它应该像 * *授权:myencodedAPIkey**
在控制台上,错误显示为:
XMLHttpRequest cannot load https://us15.api.mailchimp.com/3.0/lists/listid/members. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8000' is therefore not allowed access. The response had HTTP status code 401.
当我使用 Postman 时,它工作正常,因为 header 已正确发送。
最佳答案
这个问题似乎已经通过在每个请求上设置 header 在这里得到解决 https://laracasts.com/discuss/channels/vue/how-to-solve-the-allow-control-allow-cross-in-the-vuejs-header-request-setting?page=2
关于http - Vue-Request 不发送授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44853019/