nodejs4.x框架能收到异步回调请求不能正常解析数据

说明: 
     目前商户遇到nodejs基于express3.x框架return_urlnotify_url能收到通知并解析数据。针对嫁接到express4.x框架能收到异步请求,req.body为空,无法解析异步数据。本地模拟支付宝处理数据向服务器发送post请求,可以解析并获取数据的问题。 
原因: 
主要是支付宝post异步请求商户系统,返回处理结果headers中Content-Type为"application/x-www-form-urlencoded; text/html; charset=utf-8",由于bodyparse版本的问题无法解析。建议去掉“ text/html;”就可以获取post请求的信息。 

解决方案: 

app.use(function (req, res, next){  if (req.url === 'your_alipay_notify_url') {       req.headers['content-type'] = 'application/x-www-form-urlencoded';   }        next();   });   app.use(bodyParser.json());   app.use(bodyParser.urlencoded({extended:true}))

资源参考:[url]https://segmentfault.com/q/1010000004122789[/url]

如果大家还有什么疑问欢迎在帖子下方追问吐槽

上一篇:Node.js链式回调


下一篇:一个简单的前端 router hash 模式实现