使用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
请问你怎么解决的,我也遇到这个问题了