aplicación.js
app.get('/results',showResult) var express = require('express') var n = req.query.query; mysql_crawl.query('SELECT prod_name, full_price FROM `xxx` WHERE MATCH(data_index) AGAINST("'+n+'")', function(error, product_data) { res.render('result.html', {result: n, related: product_data: product_data}) });resultado.html
<form action= '/results' class="input-group input-group-lg" id="search"> <input type="text" class="input-group form-control" name="query" value='<%= result %>'/> <span class="input-group-btn"> <button class="btn btn-secondary" type='button'>Search</button> </span> </form> Cuando busco, obtengo una URL como example.com/results?query=keyword , pero quiero una página de resultados en example.com/s/keyword .
Ambas páginas deben ser los mismos resultados. Si cambio la palabra clave en la URL, debería mostrar resultados de búsqueda para esa palabra clave.
Entonces, mi pregunta es, ¿cómo creo la página example.com/s/keyword para duplicar los resultados en example.com/results?query=keyword ?
app.get('/s/price/:sea_query', function (req, res) { var n = req.params.sea_query; };Puedo usar esto para obtener datos de url, gracias :)
Puede crear una nueva ruta como
app.get('/s/:keyword', function (req, res) { var n = req.params.keyword; // do rest of the task };En lugar de repetir el mismo código en dos rutas, puede crear una función y luego llamar a la misma función en ambas rutas.