javascript - meteor 方法给出错误

标签 javascript meteor

我是 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 并研究了这样做的方法。我显然错过了一些东西并且无法弄清楚。任何帮助将不胜感激。

最佳答案

您正在尝试从服务器代码中查看 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 中时,您永远都不想将日期转换为字符串。这使得搜索日期变得不可能。

关于javascript - meteor 方法给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36731045/

相关文章:

javascript - 如何在jade中按条件包含模板代码?

javascript - 是否可以在 Meteor 中批量定义多个模板助手,而不是逐一定义?

javascript - 根据另一个引用 ID 数组按属性对对象数组进行排序

javascript - 在主干模型/ View 上处理更复杂的验证逻辑(必填字段等)的最佳方法?

javascript - 在移动混合应用程序中存储 JSON 数据的最佳方式是什么?

javascript - 仅当特定 session / session 不为 false 时, meteor 才允许 Collection.insert

javascript - meteor 铁路由器 header 类型不是 json

javascript - Meteor/Semantic-UI 中的错误?

javascript - Angular 数据模型停止添加名称属性

javascript - 当父 div 中的数据表表被隐藏时,数据表数据表工具不起作用