我尝试使用原始 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 并返回松弛响应