首页 > 解决方案 > 为什么我在 Google Cloud Functions 上从不变的来源收到间歇性 CORS 错误?

问题描述

当我尝试执行 jQuery.post() 时,我在浏览器控制台中间歇性地收到此错误

从源“ https://ALWAYS-THE-SAME ”访问“ https://us-central1-myId.cloudfunctions.net/myFunction?q=query ”的 XMLHttpRequest已被 CORS 策略阻止:没有“访问控制” -Allow-Origin' 标头出现在请求的资源上。

大多数时候我没有得到错误。我的谷歌云函数中有这个:

exports.myFunction = (req, res) => {
  res.set('Access-Control-Allow-Origin', '*');
  res.set('Access-Control-Request-Method', '*');
  res.set('Access-Control-Allow-Methods', 'GET, POST');
  res.set('Access-Control-Allow-Headers', 'Content-Type');

如果我在同一页面上再次运行导致此错误的代码,我可能不会收到 CORS 错误。它似乎完全断断续续。

更新:

在大多数(如果不是全部)CORS 错误之前,我也注意到了这个错误:

POST https://us-central1-myId.cloudfunctions.net/myFunction?q=query net::ERR_ABORTED 500

标签: javascriptjquerygoogle-cloud-functions

解决方案


我的函数中的异常似乎导致这些错误出现在浏览器控制台中。我修复了异常并且错误消失了。似乎这是一个不正确的错误描述。


推荐阅读