gpt4 book ai didi

javascript - 调用 Meteor 方法导致内部服务器错误 [500]

转载 作者:行者123 更新时间:2023-11-30 15:20:05 25 4
gpt4 key购买 nike

我从 main.js(server) 调用我的方法然后我在 main.js(client) 上使用 Meteor.call() 然后我收到一个内部错误 [500]

这是我的文件结构

enter image description here

这是控制台错误

enter image description here

main.js(客户端):

import Tasks from '../imports/api/task.js';
import './main.html';

Template.tasks.helpers({
tasks() {
return Tasks.find({},{sort: {createdAt: -1}})
}
});

Template.tasks.events({
'submit .add-task': function(event){
var name = event.target.name.value;
Meteor.call('addTask', name);


return false;
},
'click .delete-task': function(event){
if(confirm('Delete Task?')){
Meteor.call('deleteTask', this._id)
}

}
});

main.js(服务器):

import { Meteor } from 'meteor/meteor';
import '../imports/api/task.js';


Meteor.startup(() => {
// code to run on server at startup
Meteor.methods({
addTask: function(name){
if(!Meteor.userId()){
throw new Meteor.Error('Access Denied');
}
Tasks.insert({
name: name,
createdAt: new Date(),
userId: Meteor.userId()
});
},
deleteTask: function(taskId){
Tasks.remove(taskId);
}
});

});

最佳答案

您只需在服务器端定义您的方法。

Meteor.startup(() => {
// code to run on server at startup
if(Meteor.isServer){
Meteor.methods({
addTask: function(name){
if(!Meteor.userId()){
throw new Meteor.Error('Access Denied');
}
Tasks.insert({
name: name,
createdAt: new Date(),
userId: Meteor.userId()
});
},
deleteTask: function(taskId){
Tasks.remove(taskId);
}
});
}
});

关于javascript - 调用 Meteor 方法导致内部服务器错误 [500],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43864083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com