Я создал сайт для проведения психологического эксперимента. Данные участника хранятся в 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 () работает неправильно.
Заранее благодарим за любую помощь!