Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未找到流星验证方法_Javascript_Meteor_Meteor Accounts - Fatal编程技术网

Javascript 未找到流星验证方法

Javascript 未找到流星验证方法,javascript,meteor,meteor-accounts,Javascript,Meteor,Meteor Accounts,我正在将Meteor应用程序从Meteor 1.2迁移到Meteor 1.3,并按照上的指南创建一个经过验证的方法 当我调用该方法时,我相信客户端模拟正在发生,因为我可以注销到控制台,但随后总是出现错误方法“…”找不到 /imports/ui/pages/register.js import {Meteor} from 'meteor/meteor'; import {Template} from 'meteor/templating'; import {FlowRouter} from 'me

我正在将Meteor应用程序从Meteor 1.2迁移到Meteor 1.3,并按照上的指南创建一个经过验证的方法

当我调用该方法时,我相信客户端模拟正在发生,因为我可以注销到控制台,但随后总是出现错误
方法“…”找不到

/imports/ui/pages/register.js

import {Meteor} from 'meteor/meteor';
import {Template} from 'meteor/templating';
import {FlowRouter} from 'meteor/kadira:flow-router';

// Methods
import {createAccount} from '/imports/api/accounts/methods.js';

// HTML
import './register.html';

Template.Register_page.events({
  'submit form': function(event) {
    event.preventDefault();

    var user = {
      email: $('#email').val(),
      password: $('#password').val(),
      profile: {
        firstName: $('#firstName').val(),
        lastName: $('#lastName').val()
      }
    };

    createAccount.call(user, function(err) {
      if (err) {
        console.error(err);
      } else {
        console.log('User successfully registered');
        FlowRouter.go('Dashboard');
      }
    });
  }
});
import {Meteor} from 'meteor/meteor';
import {ValidatedMethod} from 'meteor/mdg:validated-method';
import {SimpleSchema} from 'meteor/aldeed:simple-schema';
import {Accounts} from 'meteor/accounts-base';

export const createAccount = new ValidatedMethod({
  name: 'createAccount',
  validate: new SimpleSchema({
    email: { type: String },
    password: { type: String },
    profile: { type: Object },
    "profile.firstName": { type: String },
    "profile.lastName": { type: String }
  }).validator(),
  run(user) {
    console.log(user);
    Accounts.createUser(user);
  },
});
import './register-api.js';
import '/imports/api/accounts/methods.js';
/imports/api/accounts/methods.js

import {Meteor} from 'meteor/meteor';
import {Template} from 'meteor/templating';
import {FlowRouter} from 'meteor/kadira:flow-router';

// Methods
import {createAccount} from '/imports/api/accounts/methods.js';

// HTML
import './register.html';

Template.Register_page.events({
  'submit form': function(event) {
    event.preventDefault();

    var user = {
      email: $('#email').val(),
      password: $('#password').val(),
      profile: {
        firstName: $('#firstName').val(),
        lastName: $('#lastName').val()
      }
    };

    createAccount.call(user, function(err) {
      if (err) {
        console.error(err);
      } else {
        console.log('User successfully registered');
        FlowRouter.go('Dashboard');
      }
    });
  }
});
import {Meteor} from 'meteor/meteor';
import {ValidatedMethod} from 'meteor/mdg:validated-method';
import {SimpleSchema} from 'meteor/aldeed:simple-schema';
import {Accounts} from 'meteor/accounts-base';

export const createAccount = new ValidatedMethod({
  name: 'createAccount',
  validate: new SimpleSchema({
    email: { type: String },
    password: { type: String },
    profile: { type: Object },
    "profile.firstName": { type: String },
    "profile.lastName": { type: String }
  }).validator(),
  run(user) {
    console.log(user);
    Accounts.createUser(user);
  },
});
import './register-api.js';
import '/imports/api/accounts/methods.js';
客户端控制台

Object {email: "test@mailinator.com", password: "testPassw0rd", profile: Object}    methods.js:18
errorClass {error: 404, reason: "Method 'createAccount' not found", details: undefined, message: "Method 'createAccount' not found [404]", errorType: "Meteor.Error"}    register.js:28

我相信这不起作用的原因是因为我没有在启动时初始化服务器上的javascript

添加以下内容修复了此问题:

/imports/startup/server/index.js

import {Meteor} from 'meteor/meteor';
import {Template} from 'meteor/templating';
import {FlowRouter} from 'meteor/kadira:flow-router';

// Methods
import {createAccount} from '/imports/api/accounts/methods.js';

// HTML
import './register.html';

Template.Register_page.events({
  'submit form': function(event) {
    event.preventDefault();

    var user = {
      email: $('#email').val(),
      password: $('#password').val(),
      profile: {
        firstName: $('#firstName').val(),
        lastName: $('#lastName').val()
      }
    };

    createAccount.call(user, function(err) {
      if (err) {
        console.error(err);
      } else {
        console.log('User successfully registered');
        FlowRouter.go('Dashboard');
      }
    });
  }
});
import {Meteor} from 'meteor/meteor';
import {ValidatedMethod} from 'meteor/mdg:validated-method';
import {SimpleSchema} from 'meteor/aldeed:simple-schema';
import {Accounts} from 'meteor/accounts-base';

export const createAccount = new ValidatedMethod({
  name: 'createAccount',
  validate: new SimpleSchema({
    email: { type: String },
    password: { type: String },
    profile: { type: Object },
    "profile.firstName": { type: String },
    "profile.lastName": { type: String }
  }).validator(),
  run(user) {
    console.log(user);
    Accounts.createUser(user);
  },
});
import './register-api.js';
import '/imports/api/accounts/methods.js';
/imports/startup/server/register api.js

import {Meteor} from 'meteor/meteor';
import {Template} from 'meteor/templating';
import {FlowRouter} from 'meteor/kadira:flow-router';

// Methods
import {createAccount} from '/imports/api/accounts/methods.js';

// HTML
import './register.html';

Template.Register_page.events({
  'submit form': function(event) {
    event.preventDefault();

    var user = {
      email: $('#email').val(),
      password: $('#password').val(),
      profile: {
        firstName: $('#firstName').val(),
        lastName: $('#lastName').val()
      }
    };

    createAccount.call(user, function(err) {
      if (err) {
        console.error(err);
      } else {
        console.log('User successfully registered');
        FlowRouter.go('Dashboard');
      }
    });
  }
});
import {Meteor} from 'meteor/meteor';
import {ValidatedMethod} from 'meteor/mdg:validated-method';
import {SimpleSchema} from 'meteor/aldeed:simple-schema';
import {Accounts} from 'meteor/accounts-base';

export const createAccount = new ValidatedMethod({
  name: 'createAccount',
  validate: new SimpleSchema({
    email: { type: String },
    password: { type: String },
    profile: { type: Object },
    "profile.firstName": { type: String },
    "profile.lastName": { type: String }
  }).validator(),
  run(user) {
    console.log(user);
    Accounts.createUser(user);
  },
});
import './register-api.js';
import '/imports/api/accounts/methods.js';