Я пытаюсь запросить базу данных, используя jQuery for validation
, чтобы убедиться, что один и тот же адрес электронной почты не используется дважды в моем приложении.
1) Я не уверен, что jQuery is correct
.Я знаю, что он получает информацию из ввода tne, на который я нацелил селектор, но у меня возникла проблема с просмотром того, что находится внутри объекта того, что отправляется на сервер.
2) Информация, отправляемая наserver is causing a 400 error.
400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
-Я хотел бы знать, как я могу получить доступ к значениям, передаваемым в словаре .... request.body.keys() and request.body.values()
не работает.Я думал, что словарь, с которым я передаю, .ajax() method
будет тем, что есть в request.body
- Я передаю правильные данные, помещая .serialized()
на фактический ввод вместо формы какцелое?Сначала я использовал .serialize() method
для идентификатора формы.
- это мой запрос MySQL или как я передаю словарь в строку перед отправкой запроса?Я проверил MySQL, и он запросил письмо с кодом, который я написал.
- Моя логика сработает, чтобы вставить частичное внутри div?Я не уверен, что частичное является правильным.
{% if found == True %}
<p class="error-email">Email has been taken.</p>
{% endif %}
{% if found == False %}
<p class="success-email"> This email is available</p>
{% endif %}
- это частичный HTML-код
<div id="email"></div>
<input type="email" name="email" placeholder="email" id="email-form">
* это HTML - div для частичного, когда ключup активирует асинхронный код
@app.route('/check', methods=["POST"])
def check_avaliability_of_email():
found = False
mysql = connectToMySQL('flask_canidate_survey_app')
query = 'SELECT email FROM flask_canidate_survey_app.users WHERE users.email = "%(check_value)s"'
print('AJAX_DATA:', request.form.get('email'))
value_ = data
check_value = {'user': value_}
result = mysql.query_db(query, data)
if result:
found = True
return render_template('/partials/validation_email.html', found=found)
* код на стороне сервера (python)
$(document).ready( function() {
$('#email-form').keyup(function() {
var emailData = $('#email-form').serialize()
$.ajax({
method: "POST",
url: "/check",
data: emailData
})
.done(function(res) {
$('#email').html(res)
});
});
});
это вызов JJ / JQuery AJAX. Результат был:
Iя получаю ошибку 400, которую я поместил ранее, и единственное, что печатает, это неизменный словарь.
400 Плохой запрос: браузер (или прокси-сервер) отправил запрос, который этот сервер не может понять.