JQuery сообщение назад неправильный формат

Я пытаюсь сравнить две строки с JQuery. Однако это не работает

мой почтовый файл «post.php» повторяет строку:

echo "true";

Мой скрипт jQuery пытается сравнить данные обратной передачи. Но это не работает.

$.post( "post.php",
function( data ) {
if(data=='true'){
alert();
}
});

Предупреждение никогда не всплывает. Я сохранил каждый файл как UTF-8. Понятия не имею, что не так с моим кодом.

Схожу с ума.

0

Решение

JQuery может выполнить разумное предположение на тип ответа AJAX, и так как вы просто делаете echo "true";это скорее всего выводит text или же HTMLТак что это не ваша проблема (но для большей безопасности вы можете добавить «текст» к вашему типу поста).


Возможно, у вас есть скрытые пробелы в PHP до или после закрывающих тегов. Если это так, то ваш ответ не будет действительно «верным», но, возможно, «верным». Проверьте это в post.php, Кроме того, вы можете trim() ответ AJAX.


Вы не установили обработчик ошибок, поэтому вам может не хватать полезной информации об отладке. Попробуйте это, чтобы получить больше понимания:

$.post("post.php", function(data) {
if(data && data.trim() === "true") {
alert("Success");
} else {
alert(data);
}
}, "text")
.fail(function(xhr) {
alert("Error: " + xhr.statusText);
});
0

Другие решения

Установите dataType в текст

$.ajax({
url:"post.php",
type:"POST",
dataType:"text",
success: function(){
if(data=='true'){
alert();
}
}
});
0