Проверьте ввод в Nodejs / Express back-end и отправьте результат в React front-end. - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу проверить, действителен ли домен (например, google.com), который пользователь вводит в мой интерфейс React.
Я отправляю домен в свой бэкэнд Nodejs / Express и использую функцию узла dns.lookup, чтобы проверить, действителен ли домен, следующим образом:

app.post('/new-cert', function (req, res) {
    var lookup = dns.lookup(req.body.deletedCert, function (err, addresses, family) {
        console.log(addresses); //eg.74.125.224.72 or undefined
    });

    // Only run this bit if `addresses` above is NOT `undefined`
    fs.appendFile('certs-list', '\n' + req.body.domainInput, function (err) {
        res.send('POST request: ');
        exec('sh cert-check-script-insert.sh');
        if (err) throw err;
    });
});

Если addresses равно undefined, я хочу сообщить своему клиенту React, что введенный домен недействителен, и тогда он может напечатать соответствующее сообщение пользователю.
В противном случае я хочу запустить оставшуюся функцию с fs.appendFile и далее, чтобы вставить домен.

Извините, я новичок в React / Node и не смог найти сообщение, которое могло бы мне помочь, любая помощь приветствуется!

1 Ответ

0 голосов
/ 26 апреля 2018

Пример:

Экспресс:

if (addresses) {
    res.send(addresses)
} else {
    res.status(404).send({message: "Address not found with " + req.body.deletedCert})
}

Реагировать:

const response = await fetch('/new-cert', config)
if (response.ok) {
    const json = await response.json()
    this.setState({adresses: json})
} else {
    alert('Could not find the domain.')
    return
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...