J'ai jQuery AJAX fonction qui renvoie HTML après avoir interrogé une base de données. En fonction du résultat de la requête, la fonction renverra du code HTML ou rien (c'est-à-dire vide) comme souhaité.
Je dois vérifier conditionnellement si les données sont vides.
$.ajax({
type:"POST",
url: "<?php echo admin_url('admin-ajax.php'); ?>",
data: associated_buildsorprojects_form,
success:function(data){
if(!data){
//if(data="undefined"){
//if(data==="undefined"){
//if(data==null){
//if(data.length == 0){
//if ( data.length != 0 ){
//if(data===0){
//if(data==="0"){
alert("Data: " + data);
}
},
error: function(errorThrown){
alert(errorThrown);
alert("There is an error with AJAX!");
}
});
J'ai essayé diverses conditions mais aucune ne vérifie correctement les données. D'après mes conclusions, un message d'alerte vide ne signifie pas que les données sont
Si ce n'est pas le cas, comment puis-je donc vérifier de manière conditionnelle les données qui produisent un message d'alerte vide?
La réponse correcte suivante a été fournie dans la section commentaires de la question par Felix Kling :
if (!$.trim(data)){
alert("What follows is blank: " + data);
}
else{
alert("What follows is not blank: " + data);
}
//if(data="undefined"){
Ceci est une déclaration de mission, pas une comparaison. De plus, "undefined"
est une chaîne, c'est une propriété. La vérification est comme ceci: if (data === undefined)
(sans guillemets, sinon c'est une valeur de chaîne)
Si ce n'est pas défini, vous pouvez retourner une chaîne vide. Vous pouvez essayer de rechercher une valeur falsy
telle que if (!data)
if(data.trim()==''){alert("Nothing Found");}
Cela a fonctionné de moi .. PHP Code sur page.php
$query_de="sql statements here";
$sql_de = sqlsrv_query($conn,$query_de);
if ($sql_de)
{
echo "SQLSuccess";
}
exit();
et puis AJAX Code a ci-dessous
jQuery.ajax({
url : "page.php",
type : "POST",
data : {
buttonsave : 1,
var1 : val1,
var2 : val2,
},
success:function(data)
{
if(jQuery.trim(data) === "SQLSuccess")
{
alert("Se agrego correctamente");
// alert(data);
} else { alert(data);}
},
error: function(error)
{
alert("Error AJAX not working: "+ error );
}
});
NOTE: le mot 'SQLSuccess' doit être reçu de PHP
$.ajax({
type:"POST",
url: "<?php echo admin_url('admin-ajax.php'); ?>",
data: associated_buildsorprojects_form,
success:function(data){
// do console.log(data);
console.log(data);
// you'll find that what exactly inside data
// I do not prefer alter(data); now because, it does not
// completes requirement all the time
// After that you can easily put if condition that you do not want like
// if(data != '')
// if(data == null)
// or whatever you want
},
error: function(errorThrown){
alert(errorThrown);
alert("There is an error with AJAX!");
}
});
Si vous utilisez la réponse au lieu de cela, vous obtenez tout ce que vous retenez de PHP. J'espère que cela t'aides