Meteor 如何使用对象或数组作为参数调用方法?

Meteor 如何使用对象或数组作为参数调用方法?,meteor,Meteor,这是调用服务器端方法的按钮单击事件: Template.newTeam.events "click .btn-save": -> form={} $.each $('#newTeamForm').serializeArray(), -> form[this.name] = this.value; Meteor.call 'saveTeam', form, (error, result) ->

这是调用服务器端方法的按钮单击事件:

Template.newTeam.events
    "click .btn-save": ->
        form={}
        $.each $('#newTeamForm').serializeArray(), ->
            form[this.name] = this.value;

        Meteor.call 'saveTeam', form, (error, result) ->
            if error.error == "team-exists"
                alert "A Team with this name already exists."
            else
                console.log 'saved'
                Router.go('list-teams')
单击btn保存时,将显示以下错误

Meteor.call不接受对象或数组作为参数。我可以使用单独的参数调用该方法,但我想知道是否可以只发送和数组或对象

[Log] Exception in delivering result of invoking 'saveTeam': http://localhost:3000/client/views/dashboard/teams/teams.coffee.js?ace17a4ab13667bbc2fa272b80dc3018fb860a52:10:16 (meteor.js, line 883)
http://localhost:3000/packages/meteor.js?61916b1060b33931a21f104fbffb67c2f3d493c5:973:27
_maybeInvokeCallback@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:3853:21
receiveResult@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:3873:30
_livedata_result@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:4926:22
onMessage@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:3718:28
http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:2713:19
forEach@[native code]
forEach@http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:156:18
onmessage@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:2712:15
dispatchEvent@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:152:27
_dispatchMessage@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:1137:23
_didMessage@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:1195:34
onmessage@http://localhost:3000/packages/ddp.js?1f971b2ac9f4bdab7372cb5098ed1e26ff98dfb2:1342:28
非常感谢您的帮助

编辑:

这是saveTeam方法。数据成功地传递到此方法。但我仍然看到这个错误

Teams = new Mongo.Collection('teams');

Meteor.methods
    saveTeam: (team) ->  
        if ! this.userId
            throw new Meteor.Error("not-logged-in", "Must be logged in to post a comment.")
        if Teams.findOne({name: team.name})
            throw new Meteor.Error("team-exists", "A team with this name already exists.")
        else
            Teams.insert
                createdBy: Meteor.userId(),
                name: team.name,
                description: team.description,
                visibility: team.visibility

您可以在方法中将对象或数组作为参数传递。问题出在别的地方。试着展示更多的代码-saveTeam方法。我不理解你的代码员,你能把它说得更清楚一些吗?我想当你调用它时,这个方法会抛出一个异常。例如,我认为应该在方法中使用
Meteor.userId()
而不是
this.userId
Meteor.userId()
没有解决这个问题。数据确实会传递给方法,但下面的代码
Meteor.call'saveTeam'
不会执行。