我用Hapi创建了一个简单的API,它有一条我可以POST的路径,如下所示:
dat <- df[sample(1:4,5e6,replace=TRUE),]
rw <- seq_len(nrow(dat))
system.time({
apply(X = dat, MARGIN = 1, function(x) diff(range(x)))
})
#STILL RUNNING...
system.time({
rw <- seq_len(nrow(dat))
dat[cbind(rw, max.col(dat))] - dat[cbind(rw, max.col(-dat))]
})
# user system elapsed
# 3.48 0.11 3.59
system.time(do.call(pmax, dat) - do.call(pmin, dat))
# user system elapsed
# 0.23 0.00 0.26
identical(do.call(pmax, dat) - do.call(pmin, dat),
dat[cbind(rw, max.col(dat))] - dat[cbind(rw, max.col(-dat))])
#[1] TRUE
我可以在Postman中成功向此路径发送POST请求: 它返回预期的响应。但是,当我使用这段Javascript发送请求时:
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()
}
}
}
});
这失败了,并说“值”必须是一个对象。
答案 0 :(得分:1)
事实证明,我只需要首先对JSON进行字符串化,然后就可以了:
fetch("http://localhost:1111/hello", {
mode: "cors"
body: {name: "John Doe"}
}).then(() => {
console.log("yay! it worked");
});