У меня есть пользовательские настройки Cors, из-за предоставления метода пользовательских параметров. ниже код
// region cors
// app.use(cors()); // - fixme > using cors lib will disable http options for all routes. avoid using it.
app.all('/*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Headers", "Authorization");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, HEAD, OPTIONS")
next();
});
// endregion cors
и вот какой-то маршрут. который ведет себя странно.
const router = express.Router();
router.options(`/`, authMiddleware, options);
router.get(`/term`, authMiddleware, search);
router.get(`/`, authMiddleware, search);
router.get(`/recent`, authMiddleware, getRecentSearchHistory);
export {router}
вы можете видеть, ~/term
и /
идентичны. который я сделал ~/term
дополнительно, чтобы проверить, работает ли он.
проблема в том, что запрос API к /
будет заблокирован !!? По какой-то причине /term
работает просто отлично, но express заблокирует только маршрут /
root. (какой фактический маршрут абс http://localhost:3000/api/search
)
имеет ли express резервирование имени маршрута специально для «поиска» или чего-то еще?
я не понимаю этого поведения.