如何在javascript中使用CORS从Dialogflow(Api.Ai)获取响应
在过去的几个小时里,当我尝试使用javascript连接api.ai时,我遇到了以下错误 “加载失败:请求的资源上不存在“Access Control Allow Origin”标头。” 我尝试通过以下方式使用javascript向Api.AI发送请求:- const client=new apaii.apaiclient({ accessToken:“********************” }); const promise=client.textRequest(查询); 承诺 .然后(HandlerResponse) .接住(把手错误)如何在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
函数handleResponse(serverResponse){}您可以使用浏览器扩展解决此问题。
如果您使用PostMan或除browser之外的其他服务,您不会看到此错误,或者您可以使用nginx proxy获得结果。我猜您是从浏览器调用API。这不是一个很好的选择,因为任何人都可以看到您的访问代码 您可以尝试以下解决方案:
我也从几个小时开始面对这个问题,DialogFlow的人似乎已经改变了CORS的限制 目前,唯一的解决方案是使用中间的
代理服务器
/云函数
,它将代表浏览器调用api.ai url并将结果发送回浏览器
找到问题和答案。不要一直打开此扩展。这种扩展只能用于开发目的。如果您不确定CORS是什么,请不要使用它。