Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   не выполняется условие (https://javascript.ru/forum/library-toolkit-framework/80161-ne-vypolnyaetsya-uslovie.html)

mortido 04.05.2020 15:41

не выполняется условие
 
Привет. Есть такой ajax код:
$.ajax({
			url: 'https://adw12019.fun/settings',
			method: 'POST',
			data: {param: <? echo json_encode($param); ?>, source: <? echo json_encode($source); ?>, token1: userId},
			success: function(data) {
				if (data === 'Token saved') { 
				console.log(data);
						} else {
							 console.log(data);
						
						}
				}})

обработчик всегда возвращает мне 'Token saved', я проверял это до условия и даже тип даты проверял, но if все равно не срабатывает, только else. Как такое возможно?

рони 04.05.2020 15:57

mortido,
может пробел лишний в строке 6?

mortido 04.05.2020 16:00

Цитата:

Сообщение от рони (Сообщение 523786)
mortido,
может пробел лишний в строке 6?

случайно поставил, в исходнике пробела нет

mortido 04.05.2020 16:05

вот эти две строчки:
console.log(data);
console.log(data.length);

выдают такой результат:
Token saved
12

mortido 04.05.2020 16:21

очень странно получается:
у меня в обработчике стоит простой echo 'Token saved';
То есть пробелов никаких нет в конце, но с помощью этой функции
for (var i = 0; i < data.length; i++) {
    	console.log(i+':'+data.charAt(i));
}

выявляется, что пробел в конце все таки есть. При этом если я поменяю if и сделаю его с пробелом в конце, то if не работает все равно)

рони 04.05.2020 16:29

mortido,
if (data.trim() === 'Token saved')

mortido 04.05.2020 16:37

Цитата:

Сообщение от рони (Сообщение 523790)
mortido,
if (data.trim() === 'Token saved')

спасибо, я уже догадался) больше интересно как такое вообще возможно. У меня на другом сайте точно такой же скрипт, грубо говоря я его от туда и скопировал полностью. И там такого бреда не наблюдается. откуда этот пробел мог взяться...


Часовой пояс GMT +3, время: 06:04.