Создание учетной записи для сайта, не работающего в Firefox или Safari - PullRequest
0 голосов
/ 09 марта 2020

Я создал сайт для проведения психологического эксперимента. Данные участника хранятся в mongoDB. Когда новый участник подписывается на эксперимент, он go отправляется на страницу регистрации, вводит свою электронную почту и пароль, подтверждает свой пароль, и для него создается новый документ в базе данных mongoDB. Это все работает гладко, когда я использую Google Chrome или Microsoft Edge, но по какой-то причине он не работает с Mozilla Firefox или Safari.

Я немного потрудился, чтобы точно определить, где, по-видимому, возникает проблема, и я объясню через секунду. Я использую библиотеку python Flask в серверной части, но я думаю, что с javascript что-то идет не так.

Вот HTML и сопровождающее javascript для него:

<LINK REL=StyleSheet HREF="/css" TYPE="text/css" MEDIA=screen>

<div id="banner"> 
<div id="box"> 

    <center><head>
    <br>
    <h2> Sign Up Here!</h2><br>
    <label>Email:</label> <input type=text placeholder="example@example.com" id="email"><br><br>
    <label>Password:</label> <input type=password id="pword"><br><br>
    <label>Confirm Password:</label> <input type=password id="cnfpwrd"><br><br>
    <p id="warning" style="visibility: hidden"><font style="color:red">The passwords didn't match.</font></p>


    <input type="submit" value="Sign Up"id="done">

</head></center>
</div>
</div>

<script src="/static/jquery.js"></script>
<script>
$(function(){
    $('#done').bind('click', function(){
        var uemail = $('#email').val();
        var upassword= $('#pword').val();
        var ucnfpassword = $('#cnfpwrd').val();

        console.log(uemail);
        console.log(upassword);
        console.log(ucnfpassword);

        if (upassword == ucnfpassword){
               $.getJSON('/add_participant',{
                email : uemail,
                password : upassword
               })
               window.location.replace('/')
        }
        else{
            $('#warning').css({"visibility" : "visible"} )
        }
    })
});


</script>

В операторах журнала консоли выводится все, что они должны распечатать, так что я думаю, что-то не так с вызовом $ .get JSON (). Предполагается, что функция python будет выполняться в серверной части. Вот начало функции python:

@app.route("/add_participant",methods=['GET'])
def add_participant():
    email = request.args.get('email', 'missing', type=str)
    password= request.args.get('password','missing',type=str)
    # etc etc . . . 

Я не думаю, что проблема в коде python, так как он даже не начнет работать (я проверял его с напечатать операторы.) Таким образом, проблема, кажется, в том, что этот вызов $ .get JSON () работает неправильно.

Заранее благодарим за любую помощь!

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