У меня есть эта простая форма, которая публикует контент с помощью вызова Ajax.
<form id="NewDataForm">
<label>Name</label>
<input type="text" id="name" name="name" value="" required />
<button id="saveNewData" type="submit" class="btn btn-primary">Save</button>
<div id="errorNewData" class="alert alert-danger text-center" role="alert"></div>
</form>
Jquery код:
$('#saveNewData').on('click', function(e){
e.preventDefault();
$('#errorNewData').hide();
if ($('#NewDataForm')[0].checkValidity()) {
$.ajax({
url: '/admin/includes/post.php',
type: 'POST',
data: $('form#NewDataForm').serialize()
})
.done(function(msg) {
alert(msg);
if (msg === 'go') {
// some actions
}else{
$('#errorNewData').show();
$('#errorNewData').html(msg);
}
});
} else {
$('#NewDataForm')[0].reportValidity();
}
});
В настоящее время сообщение. php просто содержит это для целей тестирования:
<?php
echo 'go';
?>
Но независимо от содержимого, возвращаемого по почте. php, он всегда показывает содержимое #errorNewData.
if (msg === 'go ') никогда не соответствует истине, даже если ответ go.
Однако в сообщении (msg) отображается' go ', а в #errorNewData также отображается' go '