在调用我的方法时,我一直在控制台中收到该消息:
调用方法'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操作仍然有效。
谢谢你的帮助。
答案 0 :(得分:1)
Meteor方法代码在客户端和服务器上执行,但是在服务器上jQuery是未定义的,因为它只是一个浏览器库。
您可以将jQuery浏览器特定代码包含在this.isSimulation
部分中,以便仅在客户端上运行它们。
if(this.isSimulation){
$(".posts_form").hide();
$(".posts_index").show();
}
或者,您可能应该将jQuery逻辑移出方法,并仅根据方法执行的结果在客户端上执行它。