Я пытаюсь написать приложение для обмена сообщениями в режиме реального времени в качестве инструмента обучения. Я уже четыре с половиной часа пытаюсь понять, почему мой метод вставки не работает. Он не вызывает никаких ошибок, просто не делает фактической вставки.MeteorJS insert способ не вставляя
Вот код для этого: JS клиент:
Template.input.events({
"keypress .input": function(event, template){
if(event.which == 13){
event.preventDefault();
var user = Meteor.user();
var message = template.find(".input").value;
alert(Meteor.call("insert", user.username, message));
template.find(".input").value = "";
}
}
});
JS Сервер:
Meteor.methods({
'insert':function(username, message){
Messages.insert({
'message': message,
'user': Meteor.userId(),
'username': username,
'timestamp': new Date()
});
return "success";
},
'find': function(){
Messages.find({}, {sort: {timestamp:-1}});
}
});
HTML:
<template name="input">
<div id="input">
<input class="input" type="text" placeholder="Message..." id="message" />
</div>
</template>
Я проверил с помощью консоли, чтобы подтвердить, что ничего не добавляется.
У вас все еще есть автообновление и неуверенность? Вы можете вставить вкладку с консоли браузера? –
Вы проверяете наличие своего нового документа сообщения с консоли браузера или непосредственно с Mongo (через 'meteor mongo' в оболочке)? Скорее всего, ваш документ записывается, но вы не публикуете и не подписываетесь на сбор сообщений. –
У меня есть автообновление, но у меня нет безопасности. Когда я пытаюсь вставить из консоли разработчика, он говорит, что вставка не удалась, доступ запрещен – Subnatural