Heim > Fragen und Antworten > Hauptteil
Ich habe die Post-Schnittstelle in dev-server.js in vue-cli geschrieben
app.use(bodyParser.urlencoded({ extended: true }));
var apiRouters = express.Router();
// 写几个接口
apiRouters.post('/login', function (req, res) {
console.log(req.body);
})
app.use('/api', apiRouters);
Dann verwenden Sie die Axios-Anfrage in der Vue-Komponente
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();
}
}
Wenn ich eine Anfrage gestellt habe, war der vom Backend gedruckte req.body immer ein leeres Objekt, aber ich habe den Browser überprüft und es war klar, dass in der Vergangenheit Post-Daten vorhanden waren
Ich möchte fragen, warum das ==
ist为情所困2017-06-05 11:15:07
问题应该出在你的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);
再试一次