#javascript #php #json #ajax
#javascript #php #json #ajax
Вопрос:
Не уверен, почему сообщение (сообщение в PHP) не отображается. Когда пользователь вводит электронную почту и нажимает кнопку, должно появиться сообщение, однако ничего не происходит. Немного не уверен.
HTML:
<div class="fp-form">
<input id="email" type="text" name="email" placeholder="Email">
<button class="btn reset-btn" type="submit" name="button">Reset Password</button>
<br><br>
<p id="response"></p>
</div>
PHP:
if(isset($_POST['email'])) {
global $conn;
$email = $conn->real_string_escape($_POST['email']);
$sql = $conn->query("SELECT u_id FROM users WHERE email='$email'");
if ($sql->num_rows > 0) {
exit(json_encode(array("status" => 1, "msg" => 'Please check your email inbox')));
} else
exit(json_encode(array("status" => 0, "msg" => 'Please check your inputs')));
}
JS:
var email = $("#email");
$(document).ready(function () {
$('.reset-btn').on('click', function () {
if (email.val() !="") {
email.css('border', '2px solid green');
$.ajax({
url: 'forgottenPassword.php',
method: 'POST',
dataType: 'json',
data: {
email: email.val()
}, success: function(response) {
if (!response.success)
$("#response").html(response.msg).css('color', "red");
else
$("#response").html(response.msg).css('color', "green");
}
});
} else
email.css('border', '2px solid red');
});
});
При необходимости добавлю дополнительную информацию, спасибо
Комментарии:
1. Вы проверили, правильно ли выполнен POST-запрос с электронной почтой?
2. Чтобы определить проблему, начните с: Вместо ‘$(«#response»).html (response.msg).css (‘color’, «red»);’ и ‘green’, используйте «console.debug (response);» для диагностики, если вы получаете какие-либоответ.
3. При нажатии кнопки в консоли ничего не отображается, я попробовал «console.debug (ответ);»
4. Вам нужно поместить var email = $(«#email»); в функцию. В настоящее время оно находится вне функции и имеет значение пусто, когда документ готов
5. @Seb POST запрос работает нормально