如何解决 Hapi 框架中 POST 请求被拒绝的问题

阅读时长 3 分钟读完

在开发 Web 应用程序时,POST 请求是非常常见的。然而,在使用 Hapi 框架时,你可能会遇到 POST 请求被拒绝的问题。这个问题的原因是 Hapi 的默认配置会拒绝所有未知来源的 POST 请求。本文将介绍如何解决这个问题,让你的 POST 请求在 Hapi 中被成功处理。

解决方案

Hapi 框架可以通过设置路由配置参数,来允许特定来源的 POST 请求。具体来说,你需要将 payloadallow 属性设置为 true,并在 routes 中添加 cors 属性。

-- -------------------- ---- -------
----- ---- - ----------------------

----- ---- - ----- -- -- -
  ----- ------ - -------------
    ----- -----
    ----- -----------
  ---

  --------------
    ------- -------
    ----- ----
    ------- -
      ----- -
        ------- ------
        -------- ---------- ---------------- --------------- ---------------- ------------------
      -
    --
    -------- --------- -- -- -
      ------ ------ -------
    -
  ---

  ----- ---------------
  ------------------- ------- -- ---- -----------------
--

-------

如上代码所示,我们首先创建一个 Hapi 服务器,并设置路由来处理 POST 请求。在路由配置中,我们使用 config 对象来设置 CORS 策略。cors 对象包含两个属性:

  • origin:一个包含允许来源的数组。在本例中我们设置为 ['*'],表示允许所有来源。
  • headers:一个包含在响应中允许的头信息的数组。

最后,我们在 handler 处理器函数中返回一个简单的字符串,以验证路由已成功配置。现在你可以测试你的 POST 请求是否被 Hapi 后台处理成功。

总结

在最初设置 Hapi 框架时,你可能会遇到 POST 请求被拒绝的问题。这个问题的根本原因在于 Hapi 的默认配置,它会拒绝所有未知来源的 POST 请求。本文中我们介绍了解决这个问题的方法,即设置路由配置参数,允许特定来源的 POST 请求。希望本文能够帮助你解决类似的问题,让你的 Web 应用程序开发更加高效。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64eebce2f6b2d6eab38b4c6f

纠错
反馈