使用jquery的方法错误

时间:2015-06-01 18:53:33

标签: jquery methods meteor

在调用我的方法时,我一直在控制台中收到该消息:

  

调用方法'displayAndAddPost'时出现异常ReferenceError:$   未定义

但是一切正常,所以我不确定如何正确使用Jquery并停止该错误消息。

以下是调用的方法:

Meteor.methods({

    displayAndAddPost: function(word, counter) {

    var exist = Posts.findOne({word: word})

        if (word == "") {
            console.log("empty")

        }else if(exist != undefined ){
            //console.log(exist._id)
            Posts.update(exist._id, {$inc: {counter: 1}});
            $(".posts_form").hide();
            $(".posts_index").show();   

        }else{
            Posts.insert({
                word: word,
                counter: counter,
                createdAt: new Date()
            });
            $(".posts_form").hide();
            $(".posts_index").show();           
        }       
    }


});

请注意,虽然它表示$未定义,但Jquery操作仍然有效。

谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

Meteor方法代码在客户端和服务器上执行,但是在服务器上jQuery是未定义的,因为它只是一个浏览器库。

您可以将jQuery浏览器特定代码包含在this.isSimulation部分中,以便仅在客户端上运行它们。

if(this.isSimulation){
  $(".posts_form").hide();
  $(".posts_index").show();
}

或者,您可能应该将jQuery逻辑移出方法,并仅根据方法执行的结果在客户端上执行它。