Как перенаправить на интерфейс vuejs, работающий на порту 8080, из Nodejs серверной части на порт 3000 вместе с данными - PullRequest
0 голосов
/ 11 июля 2020

Я могу перенаправить, используя

res.writeHead(302, {
    Location: 'http://localhost:8080/path'
})

Но мне нужно отправить некоторые данные вместе с перенаправлением. Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Один из способов передать данные из перенаправления - поместить их в качестве параметра запроса, например

res.writeHead(302, {
    Location: 'http://localhost:8080/path?data=1'
})

, а в своем приложении vue вы можете получить параметр запроса с помощью:

this.$route.query.data

Имейте в виду, что это небезопасно и не рекомендуется, если вы передаете конфиденциальные данные.

EDIT:

Вы также можете передавать данные в качестве параметров пути, если это соответствует вашим потребностям, например, у вас есть маршрут vue следующим образом:

routes: [
    {
      path: '/path/:data',
      name: 'path',
      component: PathPage,
    },
]

вы можете перенаправить из своего приложения express следующим образом:

res.writeHead(302, {
    Location: 'http://localhost:8080/path/50'
})

и вы можете получить параметр из вашего vue компонента следующим образом:

this.$route.params.data // 50
0 голосов
/ 11 июля 2020

Я думаю, что метод listen() - это то, что вам нужно для nodejs внутреннего сервера.

var http = require('http'); 
var url = require('url'); 

http.createServer(function (req, res) { 
 console.log("Request: " + req.method + " to " + req.url); 
 res.writeHead(200, "OK"); 
 res.write("<h1>Hello</h1>Node.js is listening new port"); 
 res.end(); 
}).listen(3000); 

Тема: Изменение Node.js порта прослушивания

...