问题标签 [hapi.js]

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 回答
189 浏览

javascript - 获取请求不从端点返回 JSON

我正在尝试从位于/users同一域的路由中的端点获取 JSON 数据,但不知何故我总是出错:

当我查看错误的位置时,我得到了索引页面的来源(运行脚本的同一页面)。

这是路线(Hapi.js):

这是客户端代码:

当我直接在浏览器中访问 URL 时,我得到了结果。

在此处输入图像描述

0 投票
1 回答
6519 浏览

node.js - 了解hapi js的生命周期

这些是 Hapi 生命周期:

  1. OnRequest:当请求到达服务器时调用。
  2. OnPreAuth:当请求到达路由的 auth 部分时调用。
  3. OnPostAuth:当请求从路由的 auth 部分发出时调用。
  4. OnPreHandler:当请求到达路由的处理程序部分时调用。
  5. OnPostHandler:当请求从路由的 Handler 部分发出时调用。
  6. OnPreResponse:返回响应时调用。

    7 onCredentials:是 Hapi v17 的新功能。

    无法理解onCredentials的用途。另外,如果我对hapi的生命周期理解错误,请纠正我。

0 投票
0 回答
215 浏览

cors - 未设置访问控制允许来源标头

我正在尝试在我的 api 路由上启用 cors:

我添加了额外的标头,但它不会触发“Access-control-allow-origin 标头”的设置。

以下是请求标头:

我错过了什么?谢谢。

0 投票
0 回答
85 浏览

javascript - Hapi 17 Stripe 间歇性故障

我完全感到困惑。我有一个支付途径,允许人们通过贝宝或条纹支付。根据他们所在的位置,他们将以美元或英镑/欧元支付。

我有两个条带网关,一个用于美国,另一个用于英国/欧盟。

付款表格是“原样”的 Stripe Checkout 并放在前端。

大多数时候,我可以毫无问题地付款——在美国和英国之间切换没有任何问题。

但是,有时我会收到以下错误消息:

指向我的 stripe.js 文件中的行,我在其中使用密钥设置条带。我很困惑,因为它大部分时间都有效——而且是一种方法。

我刷新浏览器,似乎没问题,稍后再中断。

支付.js

stripe.js 包含以下内容:

而且,间歇性地,我收到以下错误... Stripe 不是函数。它似乎是随机发生的(当然,我知道这不是随机的。我还不能识别一种模式)。

我在“onPostAuth”处理程序中运行一个方法来检测购物车的存在。

理论上,它应该只在没有购物车的情况下运行。因此,当客户首次登陆网站时,以及当客户结账时(购物车被擦除并重新初始化)

我正在注销购物车报告为丢失的路径。它似乎在 css.map 文件被命中时运行..(购物车页面是一个 vue.js 应用程序 - 结帐只是一个 html 页面

我认为首先,我应该修改我的 onPostAuth 以忽略路径中带有 .map 的任何内容

** 编辑 **

继@karllekko 的评论之后——我在文件的开头要求我的英国和美国——并在我的方法中引用了这些变量。

这是有效的 - 付款后付款没有失败。但是,它困扰着我……真的困扰着我。我不知道为什么这是有效的。范围应该不是问题……如果有人可以分享任何见解,那就太好了。我已经用谷歌搜索了 - 但没有找到任何关于原因的答案。

** 编辑 **

和我的朋友戴夫说话——现在非常明显……我在踢自己……

戴夫 [上午 9 点 52 分] 很明显,您stripe每次都 在重新分配stripe = stripe('###########')

抢 [上午 9 点 52 分] ....哦,废话....你是对的

戴夫 [上午 9 点 52 分] stripe = _return value of stripe()_

Dave [上午 9 点 52 分] 提示:永远不要使用let always use const that way,如果你不小心这样做了,你可以看到在哪里

rob [9:53 AM] :+1: const 指的是类型不是吗?

戴夫 [上午 9 点 53 分] 不

rob [9:53 AM] (除非它是一个字符串 - 然后是值)

戴夫 [上午 9 点 53 分] const如果该值是对象,则防止重新分配标识符,然后确保您可以更改对象内容,但是是的,字符串不能被修改原语与对象

----所以问题出在我身上。

0 投票
1 回答
697 浏览

javascript - AssertionError [ERR_ASSERTION]:无效的寄存器选项“值”必须是一个对象

我正在尝试设置一个 nodeJS 应用程序。使用 Hapi 和 PostgreSQL 数据库。参考了所有文档,但错误仍然存​​在。而 server.register

即将出现的错误是:

请协助。我正在使用“hapi”:“^17.5.3”“hapi-node-postgres”:“^4.1.0”

0 投票
2 回答
12940 浏览

three.js - 未捕获的 TypeError:THREE.GLTFLoader 不是构造函数

我是三个 js 的新手,我无法弄清楚错误

当我运行我的代码时,显示以下错误

未捕获的 TypeError:THREE.GLTFLoader 不是构造函数

错误在var loader = new THREE.GLTFLoader();

我的 html 文件:

并且 GLTFLoader.js 在路径中:<script src="js/plugins/GLTFLoader.js"></script>

0 投票
2 回答
471 浏览

node.js - 未设置 Glue CORS 标头的 Hapi.js

好的,这就是我的胶水清单的样子。如您所见,正在设置 cors 对象,但是从前端应用程序运行时,我不断收到这个愚蠢的错误:localhost:3000。

Access to XMLHttpRequest at 'http://localhost:8082/api/v1/check_out_order' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

任何可能对我有解决方案的人将不胜感激!蒂亚!

0 投票
1 回答
141 浏览

node.js - 如何通过流获取文件

我的文件/图像存储在 Azure 存储中,但我需要通过流发送文件(而不是在本地下载文件)

0 投票
0 回答
278 浏览

node.js - Hapi 在发布请求时设置 cookie

我正在使用 Hapi.js 最新版本,我正在尝试借助 cookie 实现登录系统,但问题是当我/auth直接在浏览器中打开路由时,我得到了set-cookie标题,但是当我发送发布请求时,我仍然收到ok响应和 201 代码,但不存在 cookie 标头。

0 投票
0 回答
209 浏览

amazon-web-services - 在 AWS 上的 docker 容器上,多部分文件上传有时会失败

我有一个在 AWS docker 容器上运行的 hapi 服务器,它公开了一个文件上传 API。这个 API 在我的本地机器上运行顺利,但是当部署到 AWS 时,它有时会失败,并出现错误“不完整的多部分有效负载”。错误并不总是发生,而只会在某些时候发生。我上传的图像尺寸很小(小于 100 kb),这个故障不是因为网络速度慢,因为我已经在多个网络上测试过它。

在调试 hapi 模块以进行有效负载解析后,我发现正在解析有效负载的 Pez 模块正在抛出此错误。我还注意到,当发生此错误时,调用 Pez 模块 onClose 事件并且没有发生任何解析事件,因此它返回“不完整的多部分有效负载”错误。发生这种情况时,Pez 状态处于“序言”,对于成功解析的情况,状态为“尾声”。

我的 hapi 路线配置是

有人可以建议为什么解析有时会失败,或者为什么在解析发生之前调用 onClose 事件?