如何在 VueJS 上允许请求标头字段访问控制允许源



我尝试使用原始 JSON 向 Slack API 发出 POST 请求,但不断收到以下错误

CORS 策略已阻止从源"http://localhost:8080"访问位于"https://hooks.slack.com/services/conuation/of/the/url"处的 XMLHttpRequest:预检响应中的访问控制-允许-标头不允许请求标头字段访问控制-允许-源。

下面是代码

const params =       {
                    "attachments":[
                      {
                        "fallback":"New Project Lead:<" + this.our_website + "|Click here to view>",
                        "pretext":"New Project Lead:<" + this.our_website + "|Click here to view>",
                        "color":"#D00000",
                        "fields":[
                          {
                            "title":"Company",
                            "value":this.user_company,
                            "short":false
                          },
                          {
                            "title":"Country",
                            "value":getName(this.user_country),
                            "short":false
                          }
                        ]
                      }
                    ]
                  };

                    this.axios.post('https://hooks.slack.com/services/continuation/of/url', params, {
                      headers: {
                        'content-type': 'application/json',
                        'Access-Control-Allow-Origin' : '*',
                      },
                    }).then((response)=>{
                        loader.hide();
                        let msg = "Sent Successfully";
                        this.displayAlert("Done", msg, "success");
                        setTimeout(() => {  // redirect to home after 2s
                            document.location = '/';
                        }, 2000);
                    }).catch((error) =>{
                        alert(error);
                    });
                }).catch((error) => {
                    loader.hide();
                    let msg = "Error : " + error;
                    this.displayAlert("Error", msg, "error");
                });

我正在使用 VueJS 和 Axios HTTP 库进行调用。每当我用 POSTMAN 进行测试时,它都可以正常工作。

不能将此请求从前端发送到此服务。很多服务阻止了它。

您可以创建后端子服务并向 Slack API 发送请求。 因此,结果您拥有自己的带有url mydomain.com/services/continuation/of/url 的服务,当您调用它时,您的服务将调用 https://hooks.slack.com/services/continuation/of/url 并返回松弛响应

最新更新