Попадание в бесконечный цикл с помощью JQuery .load () - PullRequest
0 голосов
/ 06 ноября 2018

Вот мой wsgi.py:

from flask import Flask, render_template, url_for
app = Flask(__name__)

DEVELOPMENT = {}

PRODUCTION = {
    "host": "0.0.0.0",
    "port": "5000"
}

running_mode = DEVELOPMENT

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

@app.route('/#index_content')
def index_content():
    return render_template("index_content.html")

if __name__ == '__main__':
    if running_mode:
        app.run(running_mode["host"], running_mode["port"])
    else:
        app.run()

Вот мой index.html:

<!doctype html>

<html lang="en">

<head>
    <meta charset="utf-8">

    <title>Gerenciador de Adquirentes</title>
    <meta name="description" content="The HTML5 Herald">
    <meta name="author" content="Concil">
    <link rel="stylesheet" href="{{url_for('static', filename='materialize/css/materialize.min.css')}}">
    <link rel="stylesheet" href="{{url_for('static', filename='concil.css', v=0.01)}}">

</head>

<body>
    <section id="main">

    </section>
    <script src="{{url_for('static', filename='materialize/js/materialize.min.js')}}"></script>
    <script src="{{url_for('static', filename='jquery-3.3.1.min.js')}}"></script>
    <script src="{{url_for('static', filename='hashy-content.js')}}"></script>
    <script>
        $(document).ready(function () {
            $("#main").load("/#index_content");
        });
    </script>
</body>

</html>

Когда я использую маршрут '/#index_content', вместо загрузки содержимого index_content.html, он начинает делать бесконечные запросы, перезагружая страницу. Это не работает, как в этом примере . Как я могу загружать контент в FLASK динамически ? Я не хочу повторять HTML-теги для каждого представления.

1 Ответ

0 голосов
/ 06 ноября 2018

Ваш маршрут /#index_content никогда не будет получен, потому что # предназначен для обработки браузером. Он никогда не дойдет до вашего бэкэнда. Фактически, flask будет воспринимать этот запрос javascript просто как / (проверьте request.url, чтобы убедиться в этом), поэтому, по сути, происходит следующее: как только страница загружается, javascript просто вызывает обновление страницы, следовательно, бесконечный цикл.

Я могу предложить изменить имя конечной точки на @app.route('/index_content') и нажать на нее.

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