我是Meteor的新手。我试图从事件助手调用Meteor.method(' addTask')并且我不断收到错误:"错误调用方法' addTask':方法' ; addTask'找不到[404]"。我将把我的代码放在下面:
Template.add_task.events({
'submit .js-emoticon': function(event){
event.preventDefault();
// console.log('clicked');
// var text = event.target.text.value;
// $('#text_display').html(text);
// $('#text_display').emoticonize();
Meteor.call("addTask");
}
});
Meteor.method在这里:
Meteor.methods({
'addTask':function(){
var task = event.target.text.value;
Items.insert({
created:new Date().toLocaleDateString("en-US"),
task:task
});
console.log(task);
}
});
两者都在客户端文件夹中的main.js上。我试图将该方法放在server / main.js上,我收到一个错误:"错误调用方法' addTask':内部服务器错误[500]"。
如果它在客户端上,它会将#text的值记录到控制台,但在服务器上它甚至不会这样做。
正如我所说,我一直在学习Meteor,并将其作为研究方法。我显然遗漏了一些东西,无法解决这个问题。任何帮助将不胜感激。
答案 0 :(得分:2)
您正在尝试从服务器代码中查看DOM元素。您需要在客户端上获取该元素,然后将其传递给方法,如果您愿意,可以将其放在/lib
文件夹中以进行延迟补偿。
客户端:
Template.add_task.events({
'submit .js-emoticon': function(event){
event.preventDefault();
var task = event.target.text.value;
Meteor.call("addTask",task);
}
});
服务器:
Meteor.methods({
'addTask':function(task){
check(task,String);
Items.insert({ created: new Date(), task: task });
console.log(task);
}
});
当你将你的日期保存在mongo中时,你从不想要将日期转换为字符串。这使得搜索日期变得不可能。