我需要你帮助我进行一个用于登录按钮的基本 ajax 调用。 有一个表单需要填写,然后按“登录”按钮,这通常会调用一个 php 文件来检查和处理登录操作。
问题是,当我尝试记录时,我发送了两个文件而不是一个。我的意思是我希望这个操作调用login.php文件并用一个对象发回回复,但是第一个请求在我的开发者控制台中以红色显示,另一个我不想调用的文件出现在下面第一次通话。
Here's what i see on my chrome developper console
问题肯定出在我的代码中,我一定在我的 JS 文件或 php 中编写了一些错误的代码,所以它们是: - 点击此函数时 JS ajax 调用
logIn(pseudo, mdp, callback) {
var var_request = {};
var_request['pseudo'] = pseudo;
var_request['mdp'] = mdp;
$.ajax({
url: '/webservices/logIn.php',
method: 'POST',
data: var_request,
timeout: kTimeout,
success: function() {
// callback();
alert('good');
},
error: function() {
alert('function error');
}
});
},
请求的 php 文件是
include("connexion_bdd.php");
$pseudo = $_POST["pseudo"];
$mdp = $_POST["password"];
$req = $bdd->prepare('SELECT * FROM joueurs WHERE nickname = ?');
$req->execute(array($pseudo));
$reponse = $req->fetch();
if (!$reponse) {
$return = array('error'=>'Pseudo non existant');
} else if ($reponse['mdp'] != $mdp) {
$return = array('error'=>'Mauvais mot de passe');
} else {
$return = array('error'=>'aucune erreur');
}
print(json_encode($return));
感谢大家阅读并帮助我!我想我做了一些坏事,但我看不到,我经验不足,所以如果你看起来很容易解决它,请不要感到惊讶^^
再见:)
最佳答案
试试这个(将 $("#your-form")
切换为您的表单 ID):
$("#your-form").submit(function(event) {
event.preventDefault(); //prevent form submission and do your code instead...
if ($('#pseudoC').val() == "") {
alert('remplir le pseudo');
} else if ($('#mdpC').val() == "") {
alert('remplir le mdp');
} else {
//Parameters
var pseudo = $('#pseudoC').val();
var mdp = $('#mdpC').val();
//Faire le check bdd si le pseudo existe et s'il est bien associé à ce mdp
Webservices.logIn(pseudo, mdp, function(reponse) {
alert(reponse);
});
}
});
关于javascript - Ajax 调用时出错 -> 发送两个文件而不是一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35420452/