Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中使用CORS从Dialogflow(Api.Ai)获取响应_Javascript_Angularjs_Google Api_Dialogflow Es - Fatal编程技术网

如何在javascript中使用CORS从Dialogflow(Api.Ai)获取响应

如何在javascript中使用CORS从Dialogflow(Api.Ai)获取响应,javascript,angularjs,google-api,dialogflow-es,Javascript,Angularjs,Google Api,Dialogflow Es,在过去的几个小时里,当我尝试使用javascript连接api.ai时,我遇到了以下错误 “加载失败:请求的资源上不存在“Access Control Allow Origin”标头。” 我尝试通过以下方式使用javascript向Api.AI发送请求:- const client=new apaii.apaiclient({ accessToken:“********************” }); const promise=client.textRequest(查询); 承诺 .然后(H

在过去的几个小时里,当我尝试使用javascript连接api.ai时,我遇到了以下错误

“加载失败:请求的资源上不存在“Access Control Allow Origin”标头。”

我尝试通过以下方式使用javascript向Api.AI发送请求:-

const client=new apaii.apaiclient({ accessToken:“********************” }); const promise=client.textRequest(查询); 承诺 .然后(HandlerResponse) .接住(把手错误)


函数handleResponse(serverResponse){}

您可以使用浏览器扩展解决此问题。
如果您使用PostMan或除browser之外的其他服务,您不会看到此错误,或者您可以使用nginx proxy获得结果。

我猜您是从浏览器调用API。这不是一个很好的选择,因为任何人都可以看到您的访问代码

您可以尝试以下解决方案:

  • 从后端而不是前端调用API
  • 使用fetch API并禁用CORS

  • 我也从几个小时开始面对这个问题,DialogFlow的人似乎已经改变了CORS的限制

    目前,唯一的解决方案是使用中间的
    代理服务器
    /
    云函数
    ,它将代表浏览器调用api.ai url并将结果发送回浏览器


    找到问题和答案。

    不要一直打开此扩展。这种扩展只能用于开发目的。如果您不确定CORS是什么,请不要使用它。