Browsersync中间件:从发布请求redirect
我们正在开发中使用浏览器同步。 对于付款确认,付款提供商回复预定义的url。
问题是,Browsersync只显示Cannot POST /payment/success
。
所以我正在考虑编写一个接受POST请求并redirect到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
browserSync使用Connect作为中间件,并不像Express看起来那样共享相同的api。
对于redirect,您至less可以执行以下操作:
res.writeHead(301, {Location: url}); res.end();
看看他们的文档访问请求主体。 Middleware
关于bodyparsing的部分可能会给你一些结果。