403(未启用CORS或找不到与此请求匹配的规则。)[VueJs]

时间:2018-08-19 05:43:28

标签: javascript vue.js vuejs2

我正在使用HTTP请求将图像上传到Azure存储,当存储帐户的CORS通用时,这对我来说是有用的,例如:

allowed origins: *
allowed methods: 7 selected (which all options)
allowed headers: *
exposed headers: *
max age: 0

在我的Http请求中(唱axios):

headers: {
     "Access-Control-Allow-Origin" : "*",
     "Access-Control-Allow-Methods": "*",
     "Access-Control-Allow-Headers": "*",
     "Content-Type": "image/png",
     "x-ms-date": currentDate,
     "x-ms-version": ""2017-11-09"",
     "x-ms-blob-type": "BlockBlob",
}

它可以与我一起工作并上传图像,但是当我修改CORS以添加一些约束时,它不起作用。例如:

allowed origins: https://XXXXXXXX.blob.core.windows.net/
allowed methods: 7 selected (which all options)
allowed headers: Authorization,x-ms-*
exposed headers: x-ms-meta-*
max age: 3600

在我的HTTP请求中(唱axios):

headers: {
     "Access-Control-Allow-Origin" : "https://XXXXXXXX.blob.core.windows.net/",
     "Access-Control-Allow-Methods": "PUT,GET,PATCH,POST,HEAD,DELETE,MERGE,OPTIONS",
     "Access-Control-Allow-Headers": "Authorization,x-ms-*,content-*",
     "Content-Type": "image/png",
     "x-ms-date": currentDate,
     "x-ms-version": ""2017-11-09"",
     "x-ms-blob-type": "BlockBlob",
}

我遇到了两条错误消息:

  

选项   https://XXXXXXXXXX.blob.core.windows.net/user-avatar/XXXXXXXXXXXXXXXXXXXXXXXX   403(未启用CORS或找不到与此请求匹配的规则。)

     

无法加载   https://XXXXXXXXXX.blob.core.windows.net/user-avatar/XXXXXXXXXXXXXXXXXXXXXXXX:   对预检请求的响应未通过访问控制检查:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。因此,不允许原点“ http://localhost:8080”   访问。

我应该如何解决问题?

1 个答案:

答案 0 :(得分:1)

更改此行

"Access-Control-Allow-Origin" : "https://XXXXXXXX.blob.core.windows.net/",

"Access-Control-Allow-Origin" : "localhost:8080/",

看看CORS - How do 'preflight' an httprequest?