Reputation: 5240
I am struggling on an AJAX call I make to let me read out the return value. My php code returns automatically an echo with false
or true
, which I made to check if the mail was send. But I am struggling to read out the value and get it to work.
Here is my AJAX code
if(proceed == true){
$.ajax({
type : 'POST',
url : 'inc/actions/sendmail.php',
data : $('#sentMessage').serialize(),
cache : false,
dataType: 'text',
success : function (data)
{
if (data == 'true'){
$("#sentMessage")[0].reset();
$("#err").append("<div class='alert alert-success' role='alert'>Bedankt voor je bericht, wij nemen binnenkort contact met je op.</div>");
$('input[name=name]').css('border-color','')
$('input[name=email]').css('border-color','')
$('textarea[name=message]').css('border-color','')
setTimeout(function(){$('#err').fadeOut();}, 5000);
}else{
$("#err").append("<div class='alert alert-danger' role='alert'>Je telefoonnummer bestaat niet uit 10 cijfers.</div>");
$('input[name=phone]').css({'border':'2px solid red'});
setTimeout(function(){$('#err').fadeOut();}, 5000);
}
},
error : function (jqXHR, textStatus, errorThrown) {console.log(errorThrown);}
});
}
As you figure, it will push out the else statement constantly, cause it doesn't pass the if statement, since it doesn't know what to check.
Upvotes: 0
Views: 73
Reputation: 24638
Even though all you're outputting is true/false
from your PHP script, and even after you've confirmed that console.log( data )
outputs true/false
, there may be white spaces around the string. Therefore you may want to use:
if( data.trim() == 'true' ) { ....
if( data.indexOf('true') > -1 ) { ..... //<=== OR
Just to confirm, you may want to use:
console.log( "'" + data + "'" );
Upvotes: 2
Reputation: 129
You should try console.log(data) to check exactly what your server is returning. There is also a change it is an object that is being returned, so you may need console.log(JSON.stringify(data)).
Also, this probably is not related but you should always be using triple equals (===), it is good practice in JavaScript.
Upvotes: 0