0

我的 Posts.update() 似乎有问题;方法。

    var postProperties = {
        url: $(e.target).find('[name=url]').val(),
        title: $(e.target).find('[name=title]').val()
    }

    Posts.update(currentPostId, {$set: postProperties}, function(error){
        if (error) {
            // display the error to the user
            alert(error.reason);
        }
        else {
            Meteor.Router.to('postPage', currentPostId);
        }
    });

currentPostId 可能没有错,因为 remove 工作得很好:

Posts.remove(currentPostId);

所以 postProperties 对象必须是:

Object {url: "https://github.com/DiscoverMeteor/Microscope", title: "Random Title"} 

帖子有一个网址、一个标题和一条消息。我有一个用于消息的 .deny() 方法,所以我没有更新它。

对我做错了什么有任何见解吗?

感谢您的时间。

4

1 回答 1

0

我看了看我的终端,所以有一个

Exception while invoking method '/posts/update' ReferenceError: alert is not defined

问题是忘记了 alert(); 在 Posts.deny(); 方法。从我现在警告的内容来看,它不是 Javascript 的一部分,而是 DOM(?) 的一部分。删除 alert() 后,一切正常。

上面代码( Posts.update(); )中的 alert() 有效,因为它位于

Template.postEdit.events({...});

因此,处理 DOM 事件,其中 alert(); 工作得很好。

于 2013-06-02T11:02:41.143 回答