将 Javascript Fetch API 与 Hapi 一起使用

Posted

技术标签:

【中文标题】将 Javascript Fetch API 与 Hapi 一起使用【英文标题】:Using the Javascript Fetch API with Hapi 【发布时间】:2017-09-29 10:14:29 【问题描述】:

我用 Hapi 创建了一个简单的 API,它有一个可以 POST 到的路由,如下所示:

server.route(
  method: "POST",
  path: "/hello",
  handler: function(request, reply) 
    // It doesn't ever get to here
    return reply(hello: request.payload.name);
  ,
  config: 
    validate: 
      payload: 
        name: Joi.string().required()
      
    
  
);

我可以在 Postman 中成功向该路径发送 POST 请求: 它返回预期的响应。但是,当我使用这段 javascript 发送请求时:

fetch("http://localhost:1111/hello", 
  mode: "cors"
  body: name: "John Doe"
).then(() => 
  console.log("yay! it worked");
);

这失败了,并且说“值”必须是一个对象。

【问题讨论】:

【参考方案1】:

事实证明,我只需要先对 JSON 进行字符串化,然后就可以了:

fetch("http://localhost:1111/hello", 
  mode: "cors"
  body: JSON.stringify(name: "John Doe")
).then(() => 
  console.log("yay! it worked");
);

【讨论】:

以上是关于将 Javascript Fetch API 与 Hapi 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Javascript Fetch API - 如何将输出作为对象保存到变量(不是承诺)

如何使用 fetch 将 FormData 从 javascript 发送到 ASP.NET Core 2.1 Web API

使用 Javascript Fetch API 发送的快速解析文件

使用 javascript fetch api 执行 POST 请求

JavaScript fetch API和Python Flask头问题

Web API Fetch() 是并行的还是异步的?