我们在开发中使用browsersync。对于付款确认,付款提供商会回复到预定义的网址。
问题是,Browsersync仅显示Cannot POST /payment/success
。
所以我在考虑编写一个接受POST请求的中间件,并重定向到与GET请求相同的URL。问题是,我不确定浏览器同步是否可行。当我尝试调用res.redirect('/')
时会抛出错误:
browserSync.init
server:
baseDir: "...."
index: "/statics/master.html"
middleware: [
modRewrite(['!\\.\\w+$ /statics/master.html [L]']),
(req, res, next) ->
res.redirect('/') # this throws a TypeError: res.redirect is not a function
]
- 为什么
res.redirect
没有定义?我认为浏览器同步是基于快递?- 我如何访问帖子请求的正文?
醇>req.body
返回undefined
答案 0 :(得分:4)
browserSync使用Connect作为中间件,并且不像Express那样共享相同的api。
对于重定向,您至少可以执行以下操作:
res.writeHead(301, {Location: url});
res.end();
查看他们访问请求正文的文档。 Middleware
中有关正文解析的部分可能会为您提供一些结果。