Face API人脸CORS错误。有人解决它请

时间:2019-01-16 09:26:17

标签: google-chrome vue.js cors

在这里使用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

请帮助我。

2 个答案:

答案 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