devserver 中 使用express 如何取得post参数
使用dev-server搭建一个模拟测试用的后台,vue页面中使用ajax向模拟的后台发送了post,后台再向真实的测试服务器发送请求,因此想要获取post参数,使用axios发送跨域post请求,但是我安装了最新版本的vue-cli,在webpack.dev.conf.js不知道要怎么写。
// vue中ajax请求
EmailLogin({commit, state}, {email, psw}) {
$.ajax('/v1/user/login', {
data: {
tp: 'em',
account: email,
password: psw
},
type: 'post',
dataType: 'json',
success: function (data) {
console.log(data)
}
})
}
// webpack.dev.conf.js
//引用body-parser
const app = express()
var apiRoutes = express.Router()
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json())
//在devserver对象中,参考https://segmentfault.com/q/10...,我把请求写到了befor(app){}函数中
devserver: {
...
before(app) {
before (app) {
app.post('/v1/user/login', function(req, res) {
console.log(req.body)
});
}
...
}
打印出来是undefinded
参考链接描述使用connect-multiparty中间件,不知道要把它写到哪里去,因为写到before(app){}中浏览器会报404,找不到该地址
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
apiRoutes.post('/v1/user/login', multipartMiddleware, function(req, res, next) {
console.log(req.body);
});
我尝试着在before(app){}使用app.post(),但还是取不到post参数
before (app) {
app.post('/v1/user/login', multipartMiddleware, function(req, res) {
console.log(req.body)
});
}
查了一上午都没有解决,求大神们帮助QAQ
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请问你怎么解决的,我也遇到这个问题了
我找了一晚上,最后把
bodyParser
放到before(app)
中,终于搞定了!