Форум сайта python.su
Нужно, чтоб содержимое страницы обновлялось при получении каждого Get запроса.
from flask import Flask, render_template, request from waitress import serve from flask_cors import CORS app = Flask(__name__) CORS(app) @app.route('/', methods=['GET', 'POST']) # def index(): if request.method == 'GET': username = request.args.get('username', '') password = request.args.get('password', '') print(username) print(password) ourstring = "username={0}&password={1}".format(username, password) return '<html><body><h1>Hello World {}</h1></body></html>'.format(ourstring) if __name__ == "__main__": app.debug = True serve(app, host='192.168.0.103', port=5000)
Get http://192.168.0.103:5000/?username=user&password=12345
<html><body><h1>Hello World username=user&password=12345</h1></body></html>
Офлайн
Я не понимаю в чём проблема сделать динамическое отображение, задача элементарная, но ничего не работает, примеров найти не могу, я уже не знаю что делать, два дня сижу гуглю и перебираю варианты. Если просто вбить в адресную строку
http://192.168.0.103:5000/?username=user&password=12345
Офлайн
При этом команды print(username) и print(password) выводятся прекрасно в консоль, а в web не отображаются
Офлайн
DessanТак это и есть GET-запрос.
Если просто вбить в адресную строкуто все работаетhttp://192.168.0.103:5000/?username=user&password=12345
DessanЧто значит get? Какой get?
а через get ничего не работает
Офлайн
py.user.nextЭто который через ajax формируется, а не просто в адресную строку вбить вручную нужные символы для открытия страницы
Что значит get? Какой get?
Офлайн
DessanА Flask тут при чём? Ты вообще понимаешь, что AJAX работает внутри браузера? Дальше браузера он не выходит.
Это который через ajax формируется
Офлайн
Ну, конечно AJAX внутри браузера и конечно же выходит. А Flask при том, что это СЕРВЕР и должен принимать запросы и их обрабатывать иначе на кой он вообще нужен. И, конечно, межсайтовый. Если flask способен только на return “Hello world” то он даром никому не нужен. И запрос отправляется и запрос приходит на сервер и браузер все пропускает, для того и CORS задействован. Тебе код Javascript надо? Вот тебе код javascript:
<html lang="en"> <head> <meta http-equiv="Access-Control-Allow-Origin" content="*"> <meta charset="utf-8"> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(function() { $('button').click(function() { $.ajax({ url: 'http://192.168.0.103:5000', data: $('form').serialize(), type: 'GET', dataType: 'json', success: function(response) { console.log(response); }, error: function(error) { console.log("Error"); console.log(error.responseText); } }); }); });</script> </head> <body> <div class="container"> <form class="form-signing" role="form"> <h2 class="form-signing-heading">Please Sign Up </h2> <input type="email" name="username" class="form-control" placeholder="Username" required autofocus> <input type="password" name="password" class="form-control" placeholder="Password" required> <button class="btn btn-lg btn-primary btn-block" type="button">Register </button> </form> </div> </body></html>
Офлайн
Dessan
“Обычный” веб без аякса, это когда вы сабмитите форму и полученный от сервера ответ браузер использует как HTML для новой отрисовки страницы. То есть страница перезагружается с новым содержимым.
Веб с аяксом, это когда вы не сабмитите форму, а отправляете данные из браузера на сервер джаваскриптом, получаете ответ и с помощью джаваскрипта решаете, что с этим ответом делать. Страница при этом не перезагружаетеся.
Вы отправляете вот это
return '<html><body><h1>Hello World {}</h1></body></html>'.format(ourstring)
success: function(response) { console.log(response); },
Офлайн
А как сделать так, чтоб что-то произошло на странице сервера?
Офлайн
DessanЗнаете, вам сложно оппонировать.
А как сделать так, чтоб что-то произошло на странице сервера?
Офлайн