我在一所学校实习,我创建了一个 AJAX 脚本,允许您调用一个php页面,将更改MySQL表中的学生数据。我的问题是我所有的程序都能在Chrome上运行,但不能在Firefox上运行。
Js:
<script>
function setBDD() {
if (confirm("Êtes vous sur de vouloir changer ces informations ?") === true){ //pop up de confirmation
//les valeurs des input sont récupérée via leurs id.
let id = document.getElementById("id").value;
let nom = document.getElementById("nom").value;
let prenom = document.getElementById("prenom").value;
let sexe = document.querySelector('input[name="sexe"]:checked').value;
let date = document.getElementById("date").value;
let classe = document.getElementById("classe").value;
let site = document.getElementById("site").value;
let login = document.getElementById("login").value;
let password = document.getElementById("password").value;
let email = document.getElementById("email").value;
$.ajax({
type: "POST",
url: "modifier-a.php",
data: {
id: id,
nom: nom,
prenom: prenom,
sexe: sexe,
date: date,
classe: classe,
site: site,
login: login,
password: password,
email: email
},
success: function(response) {
console.log(response);
}
});
}else{
alert('Annulation de la modification !');
}
}
</script>
php:
<?php
include "include-php/connexion.php";
// Récupération des données envoyées par Ajax
if (isset($_POST['id']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['sexe']) && isset($_POST['date']) && isset($_POST['classe']) && isset($_POST['site']) && isset($_POST['login']) && isset($_POST['password']) && isset($_POST['email']) ) {
$id = $_POST['id'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$sexe = $_POST['sexe'];
$date = $_POST['date'];
$classe = $_POST['classe'];
$site = $_POST['site'];
$login = $_POST['login'];
$password = $_POST['password'];
$email = $_POST['email'];
// Exécution de la mise à jour SQL
$query = "UPDATE anciens SET NOM = '$nom', PRENOM = '$prenom', SEXE = '$sexe', DATE = '$date', CLASSE = '$classe', SITE = '$site', LOGIN = '$login', PASSWORD = '$password', EMAIL = '$email' WHERE ID = '$id'";
$statement = $pdo->prepare($query);
$statement->execute();
if ($statement->rowCount() > 0) {
echo "Mise à jour réussie";
} else {
echo "Aucune mise à jour effectuée";
}
// Fermeture de la connexion à la base de données
$pdo = null;
}
?>
我也尝试了勇敢的浏览器和它的工作。我认为这是一个问题,火狐谁不能理解我的JS。
1条答案
按热度按时间bz4sfanl1#
我在网上看到,Firefox上的错误代码NS_BINDING_ABORT意味着请求在到达所需页面之前被停止,通过将我的输入类型从提交更改为按钮(感谢brombeer),我避免在请求结束之前刷新页面,并显示更改,我添加location.load()用于刷新数据。(对不起,我的英语我是法国人)