Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.05.2020, 15:41
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

не выполняется условие
Привет. Есть такой 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. Как такое возможно?

Последний раз редактировалось mortido, 04.05.2020 в 16:01.
Ответить с цитированием
  #2 (permalink)  
Старый 04.05.2020, 15:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

mortido,
может пробел лишний в строке 6?
Ответить с цитированием
  #3 (permalink)  
Старый 04.05.2020, 16:00
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

Сообщение от рони Посмотреть сообщение
mortido,
может пробел лишний в строке 6?
случайно поставил, в исходнике пробела нет
Ответить с цитированием
  #4 (permalink)  
Старый 04.05.2020, 16:05
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

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

выдают такой результат:
Token saved
12
Ответить с цитированием
  #5 (permalink)  
Старый 04.05.2020, 16:21
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

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

выявляется, что пробел в конце все таки есть. При этом если я поменяю if и сделаю его с пробелом в конце, то if не работает все равно)
Ответить с цитированием
  #6 (permalink)  
Старый 04.05.2020, 16:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

mortido,
if (data.trim() === 'Token saved')
Ответить с цитированием
  #7 (permalink)  
Старый 04.05.2020, 16:37
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

Сообщение от рони Посмотреть сообщение
mortido,
if (data.trim() === 'Token saved')
спасибо, я уже догадался) больше интересно как такое вообще возможно. У меня на другом сайте точно такой же скрипт, грубо говоря я его от туда и скопировал полностью. И там такого бреда не наблюдается. откуда этот пробел мог взяться...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не выполняется условие? Mrjoey Events/DOM/Window 3 09.07.2014 14:26
Не выполняется условие if cooldanie Общие вопросы Javascript 12 17.01.2014 01:01
Не выполняется условие в IF Papazol Общие вопросы Javascript 9 26.09.2013 14:15
Не выполняется условие if фонарик Общие вопросы Javascript 2 29.03.2013 23:28
Условие: если функция выполняется raler jQuery 5 21.04.2011 00:06