问题标签 [meteor-methods]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
117 浏览

javascript - Meteor 方法回调的结果未定义

我有一段时间没有在 Meteor 中编码了,但是我有这个 Meteor 方法,它创建一个任务并返回 ID 和另一个将该任务附加到项目的方法:

我试图在客户端上调用它,如下所示:

我遇到的问题是taskId回调中没有设置。从方法端,我看到服务器中的日志消息如下:

在客户端:

所以我知道它正在返回一些东西,但回调只是没有得到它。我知道我可能应该将 createTask 更改为只获取任务和 projectId 来链接它,但我想尝试弄清楚为什么它没有将 Meteor 方法的结果输入到客户端的回调中。

0 投票
1 回答
52 浏览

javascript - 我应该如何使用“es6 import”和来自客户端服务器的高级方法 Meteor 包或两者兼而有之?

我在这里有我的方法:imports/api/Books/methods

按照指南,如果我们想要乐观的 UI,我们可以从服务器或两者(服务器和客户端)导入此方法。

但是,如果我们使用这个包:https://github.com/meteor/validated-method:是否有必要从两者中导入?我们可以从服务器导入吗?

谢谢


更新

我已经读过这个:

0 投票
1 回答
61 浏览

javascript - Meteor:如果我有一个使用 userId 的方法,我是否必须检查他们是否已登录?

我正在使用 Meteor 帐户包。

假设我有使用 this.userId 做某事的 Meteor 方法。但是这些方法可以从任何客户端调用吗?这意味着恶意客户端可以在不登录的情况下调用这些方法?为了安全起见,我应该先手动检查客户端是否是登录用户吗?

0 投票
1 回答
130 浏览

javascript - Running code before and after each Method call in Meteor

I´m running several method calls that need to show the end user a loading modal and hide it when the method resturns a result. I was looking for a way to run this pre-call code and post-call code for every method without repeating code.

I want to be able to run those 2 swal codes without writing that code in each call. Is there some way to configure Meteor.call to do something before and after the call to the method?

0 投票
0 回答
237 浏览

meteor - Meteor Async ValidatedMethod 被调用,函数参数未定义

使用async run(params)原因(params似乎undefined上下文切换到Global上下文)。删除async工作正常(除了我不能在方法体中使用 await 显然)。为什么会这样,我怎么还能在 a 中使用 await ValidatedMethod

注意1:我像这样从客户端调用该方法——如果我尝试使用常规Meteor.methods({})定义,则会得到相同的结果。我正在Meteor.apply从客户端调用使用的方法

然后,调用客户端(我确定paramsObject是正确的):

注意 2:我还追踪到了 Meteor.apply 的内部,实际上它paramsObject在调试会话中发送了 over DDP:

非常感谢您的任何见解。

0 投票
1 回答
46 浏览

security - Meteor:保护应用程序管理部分所需的 SSR?

Meteor.users我在集合中有我的扩展用户模型,我将大部分字段从它发布到客户端。每个用户都有一个isAdmin字段,false默认设置为。

现在我有两个担忧,它们是相互关联的:

  1. 如果集合中的isAdmin字段设置为,如何确保仅能呈现用于管理员的组件?Meteor.userstrue

  2. 如何确保不能从客户端控制台修改集合isAdmin上的字段?Meteor.users


关于1。

我很犹豫是否将此字段发布给客户端并在isAdmin客户端进行简单评估。

我不确定控制台是否有一些骇人听闻的方式来简单地更改isAdmin为允许呈现仅适用于客户端管理员的组件(或其中的一部分)的方式。例如,我可以想象这样做是可能的Object.defineProperty()

我应该使用它server-side rendering来保护我的 UI 的管理部分吗?


关于2。

考虑一下本文中关于常见错误的配置文件编辑的第一段。它表明可以通过从控制台调用轻松地从客户端更改。isAdminMeteor.users.update(Meteor.userId(), {$set: {'isAdmin': true}})

当我运行它并登录到我的应用程序时,我明白update failed: Access denied了。

但即使官方文档仍然建议添加

https://guide.meteor.com/security.html#allow-deny

有一个答案,表明只要isAdmin确定服务器端的属性就足够了Meteor.methods。但它根本不说话allow-deny,它已经6岁了。

谁能告诉我,今天的真实情况如何?

0 投票
1 回答
31 浏览

meteor - Meteor 中服务器端代码的最佳实践是什么?

我是编码和 Web 开发领域的新手,对于我的第一个真实项目,我已经开始使用 Meteor 构建一个测验 Web 应用程序。

长话短说,该应用程序基本上向用户显示一个随机问题,然后接受他们的答案并获得反馈(它比这要复杂一些,但就这个问题而言,这是主要功能)。

我已经设法让它工作了,但是几乎所有的事情(除了帐户创建和那种东西)都是在客户端完成的(比如获取随机 qn)——我想这不是很安全。 .

我想在服务器上移动大部分计算和操作,但我不想将任何 Questions 集合发布到客户端,因为这意味着客户端基本上可以更改它和/或查看正确答案。

所以,我的问题是,如果我不向客户端发布任何内容(除了他们的用户文档)并且基本上通过 Meteor 方法(在客户端调用并在服务器端执行)来完成所有事情,这是否会被视为“不好的做法”?

我已经尝试过实现它,到目前为止一切正常,但只是想知道这是否是一种好习惯。它会以任何方式损害性能吗?

我已经在网上搜索了一段时间,但无法真正找到明确的答案,因此我在这里发帖...... TIA

0 投票
1 回答
46 浏览

meteor - Accounts.changePassword 在方法中不起作用

我正在开发 Meteor 应用程序,我想将调用Accounts.changePassword从客户端转移到方法。但是,当我尝试运行该方法时,出现此服务器错误:

调用方法“setPersonalPassword”类型错误时出现异常:对象 [object Object] 没有方法“changePassword”

这是有问题的代码:

但是,此代码在客户端上运行良好:

我特别困惑,因为我已经成功地使用了这两种方法Accounts.createUser()Accounts.setPassword()其他方法。

0 投票
1 回答
33 浏览

javascript - Meteor 调用结果有未定义的实例变量

服务器有一个 Meteor Method,它返回一个GiftList包含Gift集合的对象。

Call客户端有一个打印结果的 Meteor 。该Gift集合是未定义的,即使它是由服务器初始化和发送的。即使服务器已经发送了实例变量,它似乎也没有包含在响应中。

礼品清单

礼物

服务器 - Meteor 方法

客户端 - 流星呼叫

问题

为什么Gift集合未定义?