使用Back4App解析云代码函数时出现CORS错误

使用Back4App解析云代码函数时出现CORS错误,cors,coffeescript,parse-cloud-code,back4app,Cors,Coffeescript,Parse Cloud Code,Back4app,我有一个在Back4App上运行的解析后端。他们有一个云代码功能,可以让你在站点上放置类似NodeJs的函数,你可以从javascript调用这些函数。我不太熟悉NodeJs,所以我的函数语法可能有问题 NodeJs函数需要调用mailgunrestapi,我从我的站点上的Coffee脚本调用Parse cloud code函数。我创建了我的函数,让mailgun的REST调用处理Postman,然后使用Postman的代码生成生成NodeJs函数 问题是,当我从我的网站调用Parse clou

我有一个在Back4App上运行的解析后端。他们有一个云代码功能,可以让你在站点上放置类似NodeJs的函数,你可以从javascript调用这些函数。我不太熟悉NodeJs,所以我的函数语法可能有问题

NodeJs函数需要调用mailgunrestapi,我从我的站点上的Coffee脚本调用Parse cloud code函数。我创建了我的函数,让mailgun的REST调用处理Postman,然后使用Postman的代码生成生成NodeJs函数

问题是,当我从我的网站调用Parse cloud code函数时,会出现以下错误:

无论是从本地测试站点还是从托管测试站点,我都会收到此错误

以下是Back4App解析服务器上的云代码函数:

    Parse.Cloud.define("sendemail", function(request, response) {
    var request = require("request");

    var options = { method: 'POST',
      url: 'https://api.mailgun.net/v3/mg.mysite.com/messages',
      headers: 
      { 'Access-Control-Allow-Origin':'*',
        'Access-Control-Allow-Headers':'X-Requested-With',
        'Access-Control-Allow-Headers':'Content-Type',
        'Postman-Token': 'token',
        'cache-control': 'no-cache',
        Authorization: 'Basic <auth_token>',
        'Content-Type': 'application/x-www-form-urlencoded',
        'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' },
      formData: 
      { from: 'MySite.com <quote@mysite.com>',
        to: 'myemail@gmail.com',
        subject: 'Email Test',
        text: 'Email Test' } };

    request(options, function (error, response, body) {
      if (error) throw new Error(error);

      console.log(body);
    });
});
似乎Back4App上有一个我缺少的设置。我已经搜索了所有的Parse设置,但没有找到指定访问控制允许源的位置。我已经搜索了Back4App和社区组的API文档。社区小组提到了这个问题,但除了联系之外没有给出答案community@back4app.com. 我已经这么做了,但我需要尽快得到答复

Back4App上还有一个名为hello的测试函数,我可以调用fine并得到200个响应

Parse.Cloud.define("hello", function(request, response) {
  response.success("Hello world!");
});

我想你忘了{和}定义函数了。您还必须使用=>而不是->

试着使用“then”和“catch”来自promise。以下是两个可用于测试的代码段:

  Parse.Cloud.run('sendemail', data).then(() => {
      console.log(result)
      console.log("success")
    }).catch((error) => {
      console.log(error)
      console.log("fail")
    });
或者这另一个:

  Parse.Cloud.run('sendemail', data, {
    success: () => {
      console.log(result)
      console.log("success")
    },
    error: (error) => {
      console.log(error)
      console.log("fail")
    }
  });

可能重复你是如何解决这个问题的,我不知从哪里冒出同样的问题,不知道该怎么办。
  Parse.Cloud.run('sendemail', data).then(() => {
      console.log(result)
      console.log("success")
    }).catch((error) => {
      console.log(error)
      console.log("fail")
    });
  Parse.Cloud.run('sendemail', data, {
    success: () => {
      console.log(result)
      console.log("success")
    },
    error: (error) => {
      console.log(error)
      console.log("fail")
    }
  });