Я пытаюсь сравнить две строки с JQuery. Однако это не работает
мой почтовый файл «post.php» повторяет строку:
echo "true";
Мой скрипт jQuery пытается сравнить данные обратной передачи. Но это не работает.
$.post( "post.php",
function( data ) {
if(data=='true'){
alert();
}
});
Предупреждение никогда не всплывает. Я сохранил каждый файл как UTF-8. Понятия не имею, что не так с моим кодом.
Схожу с ума.
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);
});
Установите dataType в текст
$.ajax({
url:"post.php",
type:"POST",
dataType:"text",
success: function(){
if(data=='true'){
alert();
}
}
});