簡體   English   中英

找不到Meteor.call方法

[英]Meteor.call method not found

我正在完成“發現流星”中的“顯微鏡”項目,但是遇到了問題。 我收到以下代碼的“找不到方法”錯誤:

HTML模板-顯微鏡/客戶端/模板/帖子/post_submit.html

<template name="postSubmit">
<form class="main form">

    <div class="form-group">
        <label class="control-label" for="url">URL</label>
        <div class="controls">
            <input name="url" id="url" type="text" value="" placeholder="Your URL" class="form-control"/>
        </div>
    </div>

    <div class="form-group">
        <label class="control-label" for="title">Title</label>
        <div class="controls">
            <input name="title" id="title" type="text" value="" placeholder="Name your post" class="form-control"/>
        </div>
    </div>

    <input type="submit" value="Submit" class="btn btn-primary"/>

</form>

JS-顯微鏡/客戶端/模板/帖子/post_submit.js

Template.postSubmit.events({
    'submit form': function(e) {
    e.preventDefault();

    var post = {
       url: $(e.target).find('[name=url]').val(),
       title: $(e.target).find('[name=title]').val()
    };

    Meteor.call('postInsert', post, function(error, result) {
        // display the error to the user and abort
        if (error)
            return alert(error.reason);
            Router.go('postPage', {_id: result._id});  
        });
    }
});

我不確定如何調試它,因為控制台中沒有錯誤。 請誰能建議我要去哪里錯了?

您很有可能需要將方法postInsert添加到服務器端。 如果您正在“發現流星”中關注,他們將在下一節中進行操作-https: //book.discovermeteor.com/chapter/creating-posts

例如,您將方法放在這樣的名為lib/collections/posts.js的文件中

Meteor.methods({
  postInsert: function(postAttributes) {
    check(Meteor.userId(), String);
    check(postAttributes, {
      title: String,
      url: String
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM