JavaScript-вход перед загрузкой JSON - PullRequest
0 голосов
/ 03 июня 2018

У меня есть эта форма входа на /json

            <form action="/json" method="post">
                <input class="form-control" type="password" name="password" id="ps" placeholder="Password" required>
                <input class="btn btn-outline-danger" type="submit" value="ENTER" id="ab">
            </form>

, и мне нужно ввести пароль и нажать кнопку "Отправить", прежде чем я получу JSON с этим кодом

fetch('/json')
    .then(res => res.json())
    .then((out) => {
        document.getElementsByTagName('textarea')[0].innerHTML = out.Proxies.join("\n");
    })
    .catch(err => { throw err; });

как это сделать?

я могу сделать это с консоли Chrome с

document.getElementById('ps').value = 'test'
document.getElementById('ab').click()

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Просто отправьте POST с паролем

fetch('/json', {
    method: 'POST',
    body: new URLSearchParams("password=test")
})
    .then(res => res.json())
    .then((out) => {
        document.getElementsByTagName('textarea')[0].innerHTML = out.Proxies.join("\n");
    })
    .catch(err => { throw err; });
0 голосов
/ 03 июня 2018

Вам нужно определить значение onsubmit, например

        <form action="/json" method="post" onsubmit="document.getElementById('ps').value = 'test';">
            <input class="form-control" type="password" name="password" id="ps" placeholder="Password" required>
            <input class="btn btn-outline-danger" type="submit" value="ENTER" id="ab">
        </form>

Если у вас есть что-то более сложное, то более элегантно определить function, который должен выполняться до submit,как

function beforeSubmit() {
    //Your code here
}

и позвоните в onsubmit:

        <form action="/json" method="post" onsubmit="beforeSubmit();">
            <input class="form-control" type="password" name="password" id="ps" placeholder="Password" required>
            <input class="btn btn-outline-danger" type="submit" value="ENTER" id="ab">
        </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...