如何使用解析服务器调用函数

Posted

技术标签:

【中文标题】如何使用解析服务器调用函数【英文标题】:How can I call a function using parse-server 【发布时间】:2019-09-17 02:13:38 【问题描述】:

我正在开发一个 javascript 网络应用程序,并且我正在尝试制作一个“忘记密码”功能。我知道如何在服务器端使用 Parse 函数在云代码中创建一个函数。但我不能做的是从我的控制器(在前端)传递对象。顺便说一句,我正在使用 ember.js。

我尝试保存 ("user.save()") 对象(即使没有更改任何内容),然后调用 Parse.Cloud.AfterSave("user",(request)..),但我出现错误。如何将对象传递给 Cloud 代码?

【问题讨论】:

首先,重要的是要注意 Parse Server 具有内置的忘记密码功能 (docs.parseplatform.org/js/guide/#resetting-passwords)。无论如何,如果你想建立你的定制,你可以创建一个云代码函数,然后用Parse.Cloud.run('theNameOfTheFunction', user: yourUserVarGoesHere )调用这个云代码函数。 谢谢,忘记密码功能我知道了……我在云端创建了这个功能后,如何在应用程序中访问它? 我发送给您的代码实际上是您将在应用程序中用于调用函数的代码。 好的,在“theNameOfTheFunction”中,我必须在 API 代码 Cloud/Main.js 中创建一个?对吗? 是的。我刚刚添加了一个答案,以便更清楚。 【参考方案1】:

在你的main.js文件中,为了创建云代码函数:

Parse.Cloud.define('resetPassword', async req => 
  console.log(`My user is: $req.object.getUsername()`);
  ...
);

在你的客户端代码中,为了调用云代码函数:

await Parse.Cloud.run('hello',  user: Parse.User.current() );

【讨论】:

感谢您的帮助,我将测试此代码,并给您反馈。 我收到此错误 "ReferenceError: Parse is not defined" 当我保存一个新对象时,函数 Parse.Cloud.afterSave("MyClass" ...) 来操作参数...我尝试使用 var Parse = require('parse'),但它不起作用。 我解决了这个问题,但我还有另一个问题...我正在将电子邮件传递给 Cloud Code。这个函数如何“ParseUser.RequestPasswordResetAsync("email@example.com");"应该管用?我正在传递电子邮件,但它说我没有模板。我以为它会向默认的 Parse Page 发送一封电子邮件。 您能否打开一个新问题,分享您当前的代码、错误消息以及您用于初始化 Parse 的配置?

以上是关于如何使用解析服务器调用函数的主要内容,如果未能解决你的问题,请参考以下文章

如何累积单个请求的解析调用?

编译器:如何解析函数调用和函数定义

VC++调用gethostbyname实现域名解析(附源码)

回调函数究竟有啥使用价值,有否例子,效率如何

如何在 Flutter 中调用 POST 函数

Dubbo如何支持本地调用?InJvm方式解析