suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Node.js – Probleme mit Post-Daten in Vue

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
我想大声告诉你我想大声告诉你2852 Tage vor901

Antworte allen(2)Ich werde antworten

  • 为情所困

    为情所困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);

    再试一次

    Antwort
    0
  • 怪我咯

    怪我咯2017-06-05 11:15:07

    你可以试试打印req或者打印一个数字1看看请求有没有进去。还可以res.send()一个值看能不能拿到。

    Antwort
    0
  • StornierenAntwort