在这里使用API我很陌生。
我正面临CORS问题。
错误在下面。
Access to XMLHttpRequest at 'https://api-us.faceplusplus.com/facepp/v3/detect?api_key={0}&api_secret={1}&image_url={2}&return_attributes={3}'
from origin 'http://localhost:3111' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource
;
这是我的代码
async submit(){
let imgSrc = document.getElementById("photo").src
const self = this
try{
let headers = {headers:{"Access-Control-Allow-Origin":"*",}}
console.log(headers)
let response = await self.$axios.$post(CONSTANTS.API_URL,self.createParam(imgSrc),headers)
console.log(response)
}catch(error){
console.log(error)
}
},
我可以检查此API在Google Chrome的Restlet Client上是否正常工作。
this is screen shot on Restlet Client
请帮助我。
答案 0 :(得分:0)
标头Access-Control-Allow-Origin
不在ajax请求中,也不在ajax响应中。该错误告诉您脚本正在尝试从不受信任的来源下载资源。
此处的来源是从中下载脚本的来源。因此,Access-Control-Allow-Origin
标头需要由您的后端设置,以便为您提供包含提交的脚本。
答案 1 :(得分:0)
Access-Control-Allow-Origin
是在服务器上设置的,而不是在客户端上设置的。
您是从本地主机发送请求吗,API是否接受来自本地主机的调用?
有关CORS的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS