Экспресс.Js, имеющий то же имя параметра, но не переданный

#javascript #node.js #express #nodes

Вопрос:

Так что у меня проблема с Express.В настоящее время Js. Когда я перейду /article/14 , он вернется с ними в качестве параметра.

 { artId: '14' }
{ artId: 'img' }
 

Тем не менее, я не уверен, откуда он берет img деталь или как значение там дважды. Однако, если я перейду к другой статье с идентификатором, она будет работать нормально.

Это полный код

 app.get('/article/:artId', async function (req, res) {
    let artId = req.params.artId;
    getDiscordUserInfo(req, res, function(disData) {
        connection.query(`SELECT * FROM articles WHERE id = ${artId}`, (err, artResults) => {
            if(artResults[0]) {
                connection.query(`SELECT * FROM articles WHERE deleted = 0 AND catId = ${artResults[0].catId}`, (err, catArtsResults) => {
                    connection.query(`SELECT * FROM categories WHERE id = ${artResults[0].catId}`, (err, resultsCat) => {
                        res.render('article', {discordInfo: disData, siteInfo: config['siteInformation'], art: artResults[0], catArts: catArtsResults, cat: resultsCat[0], mdConvert: md});
                    });
                });
            } else {
                res.redirect('/'); 
            }
        });
    });
});
 

Также кажется, что страница все еще загружается, а затем из-за этого происходит сбой img .

img

Ответ №1:

Кажется, все решено. Для создания статей я использую конвертер уценки, и причиной, по-видимому, является изображение, которое я разместил в теле страницы. У меня еще не было ссылки, поэтому я использовал img ее в качестве заполнителя в коде, который сделал этот результат;

img

Не знаю, как это в организме могло быть причиной, но так или иначе было.

Ответ №2:

ага,,,

 app.get('/article/:artId')
 

:artId-это динамические параметры.
так что, если у вас тот же маршрут, возможно, в вашем случае

 app.get('/article/:artId') // route 1
app.get('/article/img') // route 2
 

простое решение просто добавьте условие перед запросом в базу данных

 if(artId !== "img")
 

Комментарии:

1. Да, спасибо тебе! Я получил его прошлой ночью. Просто я веду себя глупо, лол