Как отправить пользователя на страницу с сервера NodeJS?

1

То, что я пытаюсь сделать, кажется очень простым, но я не могу понять это. Прямо сейчас я делаю простой

<form action="{POST URL}"><button type="submit"></buttton></form>

Где пользователь затем нажимает кнопку отправки, которая помещает их на страницу другого сайта. Что я хочу сделать, так это POST пользователь с моего сервера NodeJS здесь:

app.get('/auth', function (req, res) {
apiClient.generateAccessToken(integratorKey, clientSecret, req.query.code, function (err, oAuthToken) {

    console.log("************ACCESS TOKEN**************")
    console.log(oAuthToken.accessToken);
    accessToken = oAuthToken.accessToken;

    apiClient.addDefaultHeader('Authorization', 'Bearer ' + accessToken);

    // res.post(req.url);
    res.send('<html lang="en"><body><form action="${req.url}" method="post">
        <input type="submit" value="Sign the document!"
        style="width:13em;height:2em;background:blue;color:white;font:bold 1.5em arial;margin: 20px auto; display: block;"/>
        </form></body>')
});

})

Это возможно?

Теги:
http

1 ответ

1
Лучший ответ

Используйте javascript для отправки формы: document.getElementById('frm').submit()

Демо-версия:

res.send('<html lang="en"><body><form id="frm" action="${req.url}" method="post">
    <input type="submit" value="Sign the document!"
    style="width:13em;height:2em;background:blue;color:white;font:bold 1.5em arial;margin: 20px auto; display: block;"/>
    </form><script>document.getElementById('frm').submit()</script></body>')

Однако вы не можете передавать другие заголовки (например, Authorization) формой POST. Если вы хотите все контролировать, вы должны использовать собственный HTTP-клиент для публикации запроса вместо браузера пользователя.

  • 0
    Отлично работает у меня, спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню