从Meteor调用向用户显示相应的错误消息

时间:2013-11-27 06:02:37

标签: javascript meteor meteorite

我第一次与Meteorjs合作。在我的应用程序中,我正在尝试注册一个用途。为此,我正在进行流星呼叫。如果用户注册成功则返回错误或成功返回错误。我的问题是当有人试图注册一个用户以前注册的id流星调用返回错误消息,用户名已经存在。这是我的流星调用

var acct = {"email": email, "full_name": full_name, roles: roles}
var id = Meteor.call("register_staff", acct, function (error, result) {
if (error) {
     console.log(error)
     FlashMessages.sendError(" This email address is already registered")
} 
else {
       $("#user_creator_dialog").modal('hide');
       FlashMessages.sendSuccess("User Successesfully Created and Password Mailed")
     }
  }); 

如果我这样做

 console.log(error)  

它显示了一个键值对

Error: Username is already exists.
 但是当我尝试使用点(。)表示法来获取密钥时
console.log(error.Error)

它给出了未定义的

。我的问题是如何访问此错误对象键。在此之前,我使用javascript和jquery,其中点符号工作完美。我认为在流星中可能还有其他方法可以访问此密钥。

1 个答案:

答案 0 :(得分:1)

如果您的Meteor方法抛出新的Meteor.Error,则键将包含错误,错误类型,消息,原因和详细信息。 “错误”是对象但不是其中一个键,因此回调中的“error.Error”将返回undefined。

尝试error.reason或error.message,看看是否可以。这取决于从方法返回的内容。