Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что за ошибка (или я туп..ю) (AJAX+JS)
 
 автор: serenya1983   (11.10.2010 в 22:42)   письмо автору
 
 

Через AJAX делаю GET запрос, который возвращает 1 или строку с ошибкой!
т.е. пусть в text - ответ!
проверяю

if (text==1) ...

- условие не выволняется, при этом если вывести

alert("|"+text+"|")

и проверять, что вдруг есть какие-то пробелы, alert - выводит как надо, т.е. - |1|
Пробовал сравнивать с единицей числом (1) и единицей строкой ("1").
Что такое, каким образом text в котором значение 1 - при проверка не равен 1???

  Ответить  
 
 автор: psychomc   (11.10.2010 в 23:56)   письмо автору
 
   для: serenya1983   (11.10.2010 в 22:42)
 

вы ступили еще в названии темы, да
а если так

if (parseInt(text)) {

}

?

  Ответить  
 
 автор: АЯ   (12.10.2010 в 01:01)   письмо автору
 
   для: serenya1983   (11.10.2010 в 22:42)
 

Строка responseText, возвращаемая сервером, приходит с добавленным в конце нечитаемым символом.
Лично у меня это символ перевода строки \n.
Получается, что если PHP-программа реально отдаёт строку, состоящую из ОДНОГО символа, то в броузер придёт строка из ДВУХ символов.
------

Кстати, аналогичная фигня у меня происходит, когда работаю с ActiveXObject ('Scripting.FileSystemObject') и пытаюсь, например, составить перечень файлов в папке. Используемый в этом случае метод item () также содержит на один символ больше, чем абсолютный URL файла. И это тоже \n, добавляемый в конце.
------

Честно говоря, причину этого явления я не знаю. Никаких объяснений в сети по этому поводу не читал, в документации никаких пометок для responseText, либо для item () не видел.
Просто констатирую - у меня именно ТАК.
Мей би, это связано с кодировками... не знаю.

Похоже, что и у Вас такая же проблема.
Можете это проверить - если alert (text.length); при гарантированной "1" в ответе сервера покажет Вам двойку, то так оно и есть.
Можно также узнать Unicode добавляемого символа - alert (text.charCodeAt (text.length - 1));
У меня это 10, что соответствует #DATA LINK ESCAPE

  Ответить  
 
 автор: serenya1983   (12.10.2010 в 12:45)   письмо автору
 
   для: АЯ   (12.10.2010 в 01:01)
 

Действительно, в начале строки оказался символ с кодом 65279, откуда он появляется!!!? И как от этого извабиться, ладно когда один и тот же символ всегда, а если будет другой!!!

Странно, но изменил include на include_once символ перестал добавляться в начало строки!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования