gpt4 book ai didi

javascript - jquery ajax如何处理回调

转载 作者:行者123 更新时间:2023-12-02 18:11:43 25 4
gpt4 key购买 nike

我正在尝试使用 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 我不明白的是我总是成功返回。

结果没有被解释,我仍然有加载图标。

任何形式的帮助将不胜感激。

最佳答案

好的,您的代码中有很多内容需要查看:

  • 您正在回显 RecordObjectif 函数的结果。这完全没问题,但是在函数本身中,您应该返回值,而不是仅仅回显它。
  • 当 ajax 请求本身成功时,将调用 $.ajax success 函数,并且不依赖于您的 php 函数输出的内容
  • 要访问从 php 返回的数据,您需要对 php 输出进行 jsonencode 处理,并再次在 javascript 中使用 JSON.parse

仅仅为您提供一些解决这个问题的工作代码不会对您有帮助,因为据我所知,您缺乏对 ajax 请求如何工作的一些基本了解。我的建议是搜索一些关于 ajax 请求的简单示例,并尝试真正理解代码的哪一部分在做什么。

关于javascript - jquery ajax如何处理回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19658548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com