在 back4app 中使用云函数时出现跨源错误

Cross origin error when using cloud functions in back4app

Getting CORS error when calling cloud function in back4app.

Error:     

访问 XMLHttpRequest 于 'https://parseapi.back4app.com/functions/hello' 来自原点 'http://localhost:8100' 已被 CORS 策略阻止:无 'Access- Control- Allow-Origin' header 出现在请求的资源上。

In client code cloud function implemented in home page 

 home.page.ts:

 Parse.Cloud.run('hello').then(function (ratings) {

   console.log("updated");

 }).catch((error) => {

   console.log(error);

   console.log("fail"); 

 });

 Cloud function:

In back4app added main.js file with cloud code implementation

  main.js:

 Parse.Cloud.define('hello', function(req, res) {

   Parse.Cloud.useMasterKey();

   return 'Hi';    
 });

可能与Parse Server版本有关

能否请您看一下您使用的 Parse Server 版本是多少?请在 this guide.

之后找到此信息

如果是2.X,则必须部署结构如下的函数:

main.js:

Parse.Cloud.define('hello', function(req, res) {    
   response.success('Hello')
});

代码 Parse.Cloud.useMasterKey(); 已弃用。阅读更多 here.

如果是 3.X,您可以部署如下内容:

Parse.Cloud.define('hello', (req) => {    
   return 'Hello';
});
  • 检查您是否在前端初始化了正确的密钥。

如果还是不行,请在实时聊天中联系 Back4App 团队 =D