Моя голова вот-вот взорвется. Я не могу понять, что здесь происходит. Ниже приведен мой код для обработки запроса ajax.Проблема с синтаксисом - сравнение XMLHttpRequest.responseText со строкой
xmlhttp_DELrep.onreadystatechange = function(){
if(xmlhttp_DELrep.readyState == 4 && xmlhttp_DELrep.status == 200){
if(xmlhttp_DELrep.responseText == 'delete_ok'){
document.getElementById(replyboxID).style.display='none';
console.log('delete success!');
}else{
console.log('delete fail');
console.log('xmlhttp_DELrep.responseText: '+ xmlhttp_DELrep.responseText);
}
}
}
Это ответ, который я получаю через консоль:
delete fail
xmlhttp_DELrep.responseText: delete_ok
Я не понимаю, почему мой первый «если» заявление не выполняется при условии, что xmlhttp_DELrep.responseText делает действительно равны ' delete_ok '- как показано на консоли. Пожалуйста, кто-нибудь может помочь?
Возможно, где-то есть пробелы. Попробуйте 'console.log (" '"+ xmlhttp_DELrep.responseText +"' ");'. –
Я сталкиваюсь с тем, что вы получаете ответ от серверных сценариев. Если вам не нужно использовать ответ в качестве вывода, я рекомендую вам использовать номера (200 = ОК, 404 = не найдено и т. Д.). Это упростит работу приложения –
@torazaburo, вы были правы. используя ваш код, я обнаружил, что были введены колоссальные пробелы где-то справа от моего xmlhttp_DELrep.responseText. Я использовал trim(), чтобы избавиться от них, и все работает так, как должно. Если вы ответите в ответ, я могу принять его. Большое спасибо! – dave