променете маршрута и изпратете съобщение чрез socketio, но socketio работи

<!DOCTYPE html>
<html>
    <head>
        <title>Login</title>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>

   <script>
        document.addEventListener('DOMContentLoaded',()=>{

            var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port);

            socket.on('connect',()=>{
                console.log('connected');
               document.querySelector('#submit').onclick =() =>{
                const user= document.querySelector('#user').value;
                const room = document.querySelector('#room').value;
                socket.emit('join',{'user':user,'room':room});
                console.log('emitted');
                return false;
               };

            });

        });

    </script>

    </head>
    <body>
    <form id="new-task" action="{{ url_for('chat') }}" method="post">
        <input type="text" autocomplete="off" autofocus id="user" placeholder="username"> 
        <input type="text" autocomplete="off" autofocus id="room" placeholder="room">
        <input type="submit" id="submit" value="join">     
    </form> 
    </body>
</html>

localhost:5000 отворена страница index.html, когато щракна върху изпращане, работи само socketio, но url не се променя.

import os
import requests

from flask import Flask,jsonify,render_template,request
from flask_socketio import SocketIO,emit,join_room,leave_room,send

from werkzeug import secure_filename



app = Flask(__name__)
app.config["SECRET_KEY"] = os.getenv("SECRET_KEY")
socketio=SocketIO(app)



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


@app.route("/chat" ,methods=["POST"])
def chat():
    print("running chat")
    return render_template("chat.html")


@socketio.on('join')
def on_join(data):
    username = data['user']
    room = data['room']
    join_room(room)
    emit('chat',{'username':username},room=room)
    print("room has been allocated")

когато направих само url_for без socketio, успях да променя маршрута, но сега изглежда не работи. в конзолата и cmd мога да видя, че socketio работи, но маршрутът за чат не работи


person green seek    schedule 16.09.2018    source източник
comment
Потърсихте ли в конзолата на браузъра грешки или съобщения?   -  person Miguel    schedule 17.09.2018
comment
в конзолата не се показва грешка   -  person green seek    schedule 17.09.2018
comment
мога да променя така window.location=localhost:5000/chat, но нямам представа какво не е наред с това.   -  person green seek    schedule 17.09.2018