node.js - vue中 post数据遇到问题
问题描述
我在vue-cli中的dev-server.js中写了post的接口
app.use(bodyParser.urlencoded({ extended: true }));var apiRouters = express.Router();// 写几个接口apiRouters.post(’/login’, function (req, res) { console.log(req.body);})app.use(’/api’, apiRouters);
然后在vue组件中用axios请求
methods: { submitForm(formName) {this.$refs[formName].validate((valid) => { if (valid) { alert(’submit!’); let loginParams = { username: this.ruleForm.account, password: this.ruleForm.checkPass }; this.axios.post(’/api/login’,loginParams).then(response => {console.log(response); }) } else { console.log(’error submit!!’); return false; }}); }, resetForm(formName) { console.log(’reset’); this.$refs[formName].resetFields(); }}
当我请求时后端打出的req.body一直是一个空对象,但是我看了下浏览器明明是有post数据过去的

我想问问这是为啥==
问题解答
回答1:问题应该出在你的dev-server.js里,你缺了对requestBody的正确处理,改成这样:
app.use(bodyParser.json());app.use(bodyParser.urlencoded({ extended: true }));var apiRouters = express.Router();// 写几个接口apiRouters.post(’/login’, function (req, res) { console.log(req.body);})app.use(’/api’, apiRouters);
再试一次
回答2:你可以试试打印req或者打印一个数字1看看请求有没有进去。还可以res.send()一个值看能不能拿到。
相关文章:
1. angular.js - angular1运行程序报错2. 主题切换问题,用过别人的webapp在后台切换模板主题后手机端打开网页就是切换到的主题了3. javascript - fis3 构建 模块加载调用问题,index.js不能加载模块zepto.js,也没有错误报警,4. javascript - html中阻止默认事件5. javascript - 关于iscroll的一段代码,希望有人解释6. javascript - SuperSlide.js火狐不兼容怎么回事呢7. javascript - js中Map对象怎么拿到[[entries]]这个属性的值?8. java - 输出4个不相等整数之间所有任意三个整数的乘积9. 请问一下各位老鸟 我一直在学习独孤九贱 现在是在tp5 今天发现 这个系列视频没有实战10. css3 - 问一下max-width和max-device-width有什么区别啊

网公网安备