在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ express使用ajax提交表單失敗,app.post無效

express使用ajax提交表單失敗,app.post無效

代碼

// 在模板文件發(fā)起ajax提交表單的請求
$.ajax({
  url: '/process',
  type: 'POST',
  data: $(this).serialize(),
  success: function(data) {
    if (data.success) {
      $container.html('<h2>Thank you!</h2>');
    } else {
      $container.html('There was a problem.');
    }
  },
  error: function() {
    $container.html('There was a problem!');
  }
});
// 在app.js中使用app.post做處理
app.post('/process', function(req, res){
    if(req.xhr || req.accepts('json,html')==='json'){
        res.send({ success: true });
    } else {
        res.redirect(303, '/thankyou');
    }
});

然而,結(jié)果卻是:There was a problem!
打開FF,顯示的是:

clipboard.png
明明使用了app.post做請求處理了,哪里出錯了呢?如何解決?

回答
編輯回答
玩控

錯誤把a(bǔ)pp.post放在了app.use(req, res, next)中間件函數(shù)后面,導(dǎo)致app.post無法處理post請求。解決方法:只要把a(bǔ)pp.post放在中間件函數(shù)之前就可以了。后續(xù)的理解:只要返回了404,就應(yīng)該想到是“請求的東西,你沒有給我”。因此一般來說都是處理請求那一塊代碼出錯了。

2018年6月27日 19:07