我正在尝试使用 jQuery 和 ajax 函数以不重新加载页面。
所以我有一个基本表格,我在这里将数据发送到 php 文件我没有问题。
我遇到的麻烦是处理返回,因为即使查询失败,它也总是成功返回给我。
在 php 文件中我有那个
<?php
//Instantiation de la connexion
require_once('../../config/connexion.php');
//Initialisation des fichiers requis
include_once('../../lib_php/librairie.php');
//Initialisation des variables
function RecordObjectif(){
//On cherche l'id de l'utilisateur
$id_student = fetchUserId();
if(isset($_POST['objectif'])){
$objectif = mysql_real_escape_string($_POST['objectif']);
$query = "INSERT INTO ...";
mysql_query($query);
if(mysql_affected_rows()>=0){
$out['erreur'] = 1;
}else{
$out['erreur'] = 0;
}
echo $out;
}else{
return null;
}
}
echo RecordObjectif();
在 jquery 我的意思是 Html 页面我有这个
$.ajax({
type: 'POST',
url: 'pages_ajax/mes-objectifs.php',
data: { objectif: objectif, nom_programme: nom_programme, date_depart : date_depart, date_fin: date_fin, statut:statut},
dataType: "json",
beforeSend:function(){
// this is where we append a loading image
$('#resultat').empty()
$('#resultat').attr('style','text-align:center');
$('#resultat').append('<img src="images/loading.gif" alt="Loading..." />');
},
success:function(data){
// successful request; do something with the data
if(data.erreur==1){
$('#resultat').empty().removeAttr('style');
$('#resultat').attr('class','success').empty().append('<b>Enregistrement de votre programme terminé.</b>')
}
},
error:function(){
if(data.erreur==0){
// failed request; give feedback to user
$('#resultat').empty().removeAttr('style');
$('#resultat').attr('class','error').empty().append('<b>Erreur lors de l\'enregistrement, veuillez recommencer dans quelques minutes.</b>');
}
}
我不知道如何对待回报,它总是回报给我成功。
我想显示错误if $out['erreur'] = 0
我不明白的是我总是成功返回。
结果没有被解释,我仍然有加载图标。
任何形式的帮助将不胜感激。