Возможно ли, чтобы отправленная форма, которая была обновлена ​​до той же страницы без обновления, могла быть открыта дружественным URL-адресом позже? - PullRequest
0 голосов
/ 08 февраля 2019

Допустим, у меня есть форма, которую пользователь отправляет, которая затем обрабатывается на стороне сервера и обновляется до той же страницы без обновления страницы.Может ли результаты, которые были обновлены на этой странице, позднее доступны по дружественному URL?

HTML:

<form id="search" method="GET">
    <input id="tags" type="text" name="b" placeholder="Search..." />
</form>

<span id="details"></span>

<script type="text/javascript">
    $(function() {
        $('#search').submit(function () {
            $.getJSON('/_search', {
                b: $('input[name="b"]').val(),
            }, function (data) {
                $("#details").text(data.details);
                $("#search")[0].reset(); /*clear the form after details are updated*/
            });
            return false;
        });
    });
</script>

Python:

@app.route('/_search')
    def details():
    thetag = request.args.get('b')
    return jsonify(details=thetag)

@app.route('/')
    def home():
    return render_template('index.html')

Кодвыше работает как задумано.Результаты отображаются в деталях без обновления страницы.Возможно ли получить доступ к этим результатам позже, когда пользователь перейдет по дружественному URL?т.е. / search / item_being_searched

1 Ответ

0 голосов
/ 09 февраля 2019

Я закончил тем, что создал динамический маршрут, который отображает страницу search.html и передает на страницу переменную, содержащую данные результата.

@app.route('/<item_being_searched>')
def searched_item(search_name):
    #do stuff with item_being_searched here that mimmicks form submit
    #output to be passed as variable details to template search.html
    return render_template('search.html',details=output )

Все еще нужно выполнить проверку ошибок, но это делает то, что я имел вум.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...