Ответ 1
Следующий ответ был приведен в разделе комментариев вопроса Феликс Клинг:
if (!$.trim(data)){
alert("What follows is blank: " + data);
}
else{
alert("What follows is not blank: " + data);
}
У меня есть функция jQuery AJAX, которая возвращает HTML после запроса базы данных. В зависимости от результата запроса функция либо вернет HTML-код, либо ничего (т.е. Пустое) по желанию.
Мне нужно условно проверить, когда данные пустые.
$.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!");
}
});
Я пробовал различные условия, но никто не правильно проверял данные. Основываясь на моих выводах, пустое предупреждающее сообщение не означает, что данные
Если это ни одна из этих вещей, как я могу поэтому условно проверить данные, которые дают пустое предупреждение?
Следующий ответ был приведен в разделе комментариев вопроса Феликс Клинг:
if (!$.trim(data)){
alert("What follows is blank: " + data);
}
else{
alert("What follows is not blank: " + data);
}
//if(data="undefined"){
Это оператор присваивания, а не сравнение. Кроме того, "undefined"
- это строка, это свойство. Проверка выполняется так: if (data === undefined)
(нет кавычек, иначе это строковое значение)
Если он не определен, вы можете вернуть пустую строку. Вы можете попробовать проверить значение falsy
, подобное if (!data)
, а также
if(data.trim()==''){alert("Nothing Found");}
Это сработало. PHP-код на странице .php
$query_de="sql statements here";
$sql_de = sqlsrv_query($conn,$query_de);
if ($sql_de)
{
echo "SQLSuccess";
}
exit();
а затем код AJAX ниже.
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 );
}
});
ПРИМЕЧАНИЕ: слово "SQLSuccess" должно быть получено от 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!");
}
});
Если вы используете ответ вместо этого, вы получаете все, что вы эхо от PHP. Надеюсь, что это поможет