Google云功能可处理跨源请求中的错误

时间:2019-03-15 09:57:10

标签: google-chrome cors cross-domain google-cloud-functions

我有一个JavaScript应用程序,通过HTTPS对Google云功能进行客户端调用。由于云域是https://us-central1-myproject.cloudfunctions.net,因此这是一个跨域请求。我的云函数代码返回适当的跨域标头,并且一切正常。

但是,当执行异常终止(由于超时或未处理的异常)时,Google会在我的控制范围之外返回自己的错误响应(状态400、408等),其中不包含任何跨域标头。我要处理这些错误。

但是,看来Chrome发生这种情况时的行为(即未经CORS批准且状态代码不为200的跨域请求)只是将请求永久挂起,并以零表示失败( Chrome开发者工具中的“网络”标签永远显示“待定”)。 otoh Firefox记录了该错误,但将状态代码屏蔽为0。

处理因客户端JavaScript失败而导致的对云函数的调用的正确方法是什么?

我在这里看到两个选项:

1)这真的是Chrome中预期的行为吗?如果响应都未经CORS批准并且返回非200状态代码,是否有任何方法可以检测到跨域请求是否失败?

2)是否可以将Google Cloud配置为向我的功能代码无法控制的这些错误响应(400、408等)添加跨域标头?

Ubuntu 18上的Chrome版本72.0.3626.121,首先。

0 个答案:

没有答案
相关问题