NodeJS从AJAX调用渲染视图

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (91)

我尝试使用AJAX调用渲染视图:

let data = {}
data.ph_user = ph_user 
data.nav_destination ='bids_review'
   $.ajax({
    type: 'POST',
    data: JSON.stringify(data),
    contentType: 'application/json',
    url: '/users/navigation',

});

路由器的代码是:

router.post('/navigation', (req, res) => {
 try {
  var fname = req.body['ph_user']
  var main_block = req.body['nav_destination']
    if(main_block='bids_review'){
     console.log(fname, main_block, 'zzzz')
     res.render('bids_review', {ph_user: fname, main_block: 'dashboard'});
    } 
   }catch(err){
     console.log(err)
  }  
 })

看起来路线被正确调用,但不呈现新视图。我在服务器或客户端都没有出现任何错误。我知道我可以通过表单来做,但想知道是否有办法通过AJAX调用完成此操作。非常感谢任何指导。

提问于
用户回答回答于

您的路由将呈现的HTML返回给AJAX调用。如果要直接从服务器呈现HTML,请不要使用AJAX,只需重定向到路由(即使用表单发布数据,或将路由更改为.get并重定向到该位置)。

要继续使用AJAX,您可能希望从路由返回JSON,并在客户端上呈现它。

扫码关注云+社区

领取腾讯云代金券