引入
今天在做网页的时候出现了一个问题,我在项目中添加了一个新的路由企图增加一些功能,在功能代码添加完成后,测试时发现,在提交post请求时,页面一直在加载,这时再去控制台一看报错了:BadRequestError: request aborted
这就令我非常不解,分开测试功能代码和已有项目的时候明明都能正常使用,可组合在一起就完蛋了,这是什么道理?
原因
遇到问题先百度,然鹅百度了一天也没有百度到,主要还是不知道什么问题只有个报错信息request aborted也不知道百度啥。。。
然后只能硬看错误信息企图发现原因了,首先看看报错位置:\node_modules\raw-body\index.js:231:10
痴呆,raw-body是个什么鬼,我没下载这个第三方库啊,然后我就想post不能成功是不是和引入的处理post请求库body-parser有关系啊
果然把这两行代码注释之后就没问题了,但是问题来了,我也不能换个处理库啊,这得改多少代码。。
然后我还是找不到原因所在,最后还是在和大佬闲聊中被大佬一语道破
醍醐灌顶!果然在功能代码之前过了一个路由,然后再这个路由里用express-formidable处理了post请求,而body-parser 和express-formidable组件冲突,会造成 Request Aborted
解决办法
body-parser 和express-formidable组件冲突,会造成 Request Aborted
然后我把“/demos"路由放到了"/"的前面,果然不报错了。。。。