NodeJS рендерит вид из вызова AJAX - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь отобразить представление с помощью вызова 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. Любое руководство с благодарностью.

1 Ответ

1 голос
/ 18 июня 2019

Ваш маршрут возвращает обработанный HTML-код вызову AJAX.Если вы хотите визуализировать HTML напрямую с сервера, не используйте AJAX, просто перенаправьте на маршрут (т. Е. Используйте форму для публикации данных или измените маршрут на .get и перенаправьте на местоположение).

Чтобы продолжать использовать AJAX, вы, вероятно, захотите вернуть JSON из маршрута и отобразить его на клиенте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...