Итак, я довольно новичок в программировании веб-приложений, и сегодня я решил создать систему входа в систему. Однако при попытке проверить учетные данные пользователя, используя AJAX, возникает одна проблема: "VM7707 jquery -3.5.0. js: 8885 Uncaught RangeError: Превышен максимальный размер стека вызовов ".
Если я правильно понял причину этой проблемы, есть функция, вызывающая себя или другую, снова и снова. Я могу быть слепым и тупым, потому что я действительно не знаю, как решить эту проблему, ниже вы можете увидеть фрагмент моего кода, эта функция запускается, когда я отправляю свою форму для входа.
Я попытался удалить и изменить путь к файлу, который должна вызывать функция, но проблема остается. Я также читал, что, чтобы избежать проблемы, вы можете иногда написать $ ('# loginForm') [0] .submit, но это тоже не сработало.
Это мой первый раз в стеке, так что я извините, если что-то не так с моим способом адресации, но я застрял на этом препятствии уже более часа, хе-хе.
Был бы благодарен, если бы кто-нибудь объяснил мне, почему это происходит в этом случае: ) спасибо.
JavaScript
$('#loginForm').submit(function() {
$.post("./models/validateModel.php", {
name: loginUsername,
password: loginPassword
}).done(function(data) {
if (data === false) { //if the data isn't false i have a heading in validateModel.php
console.log("Unsuccessful Login Attempt");
}
});
});
HTML
<form id="loginForm" method="post">
<div class="form-group">
<label for="loginUsername">Användarnamn</label>
<input id="loginUsername" type="text" class="form-control" name="loginUsername">
</div>
<div class="form-group">
<label for="loginPassword">Lösenord</label>
<input id="loginPassword" type="password" class="form-control" name="password">
</div>
<button type="submit" id="loginKnapp" class="btn btn-primary w-100 disabled" disabled>Logga In</button>
<button type="button" id="registerButton" class="btn btn-primary w-100 mt-4">Inte Registrerad?</button>
</form>
Console
VM10 jquery-3.5.0.js:8885 Uncaught RangeError: Maximum call stack size
exceeded
at buildParams (VM10 jquery-3.5.0.js:8885)
at buildParams (VM10 jquery-3.5.0.js:8913)
at buildParams (VM10 jquery-3.5.0.js:8913)
at buildParams (jquery-3.5.0.js:8913)
at buildParams (jquery-3.5.0.js:8913)
at buildParams (jquery-3.5.0.js:8913)
at buildParams (jquery-3.5.0.js:8913)
at buildParams (jquery-3.5.0.js:8913)
buildParams @ jquery-3.5.0.js:8885
buildParams @ jquery-3.5.0.js:8913
buildParams @ jquery-3.5.0.js:8913
buildParams @ jquery-3.5.0.js:8913
buildParams @ jquery-3.5.0.js:8913
buildParams @ jquery-3.5.0.js:8913
buildParams @ jquery-3.5.0.js:8913
VM10 jquery-3.5.0.js:5228 [Violation] 'submit' handler took 4843ms