meteor - Accounts.changePassword 在方法中不起作用
问题描述
我正在开发 Meteor 应用程序,我想将调用Accounts.changePassword
从客户端转移到方法。但是,当我尝试运行该方法时,出现此服务器错误:
调用方法“setPersonalPassword”类型错误时出现异常:对象 [object Object] 没有方法“changePassword”
这是有问题的代码:
'setPersonalPassword': function(oldPassword, newPassword){
Accounts.changePassword(oldPassword, newPassword);
},
但是,此代码在客户端上运行良好:
'submit form': function (event) {
event.preventDefault();
var oldPassword = event.target.oldPassword.value;
var newPassword = event.target.newPassword.value;
Accounts.changePassword(oldPassword, newPassword)
}
我特别困惑,因为我已经成功地使用了这两种方法Accounts.createUser()
和Accounts.setPassword()
其他方法。
解决方案
在服务器上,您应该使用Accounts.setPassword
可以与userId
方法调用中的当前一起使用的服务器:
Meteor.methods({
'setPersonalPassword': function (newPassword){
const userId = this.userId
Accounts.changePassword(userId, newPassword)
}
},
请参阅:https ://docs.meteor.com/api/passwords.html#Accounts-setPassword
推荐阅读
- go - 无缓冲通道不以同步方式工作
- ruby-on-rails - 如何使用 API 支持的数据而不是 ActiveRecord?
- ubuntu - 运行特定的剧本
- ubuntu - pycharm 启动 Ubuntu 20.04 上的 Java 崩溃
- android - 使用 Jetpack Compose 为 drawLine 设置动画
- docusignapi - 用于 Power Automate 和 Power Apps 的 Docusign 自定义连接器
- wpf - WPF 中的“内联”或“内联元素/内联级流内容”是什么?
- command - 我将如何更改节点扩展实时服务器的默认浏览器?
- python - Django [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无效的对象名称'MYSCHEMA.MyUnmanagedModel'
- reactjs - 如何从成功的 React 查询中获取 HTTP 响应代码?