Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
173 / 131 / 74
Регистрация: 04.12.2013
Сообщений: 552
1

AJAX-запрос добавляет лишнюю строку в ответ

22.08.2016, 19:08. Показов 1068. Ответов 5

Author24 — интернет-сервис помощи студентам
Я вообще в шоке если честно. До какого-то момента все работало правильно, сегодня только заметил.
Пусть есть код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$.ajax({
            url: "/main/remove_geozone", 
            type: 'POST',
            data: { 
                serial:      selectedObject.serial,
                GeozoneName: name,
            },
            success: function(result) {
                
                if (result == '1') {
                            //soSth
                } else {
                    console.log('Geozone cannot be removed from DB.');
                }
            },
        
            error: function(xhr, status, error) {
                console.log(error);
            }
        });
И обработка данных на сервере (контроллер, запрос для MySQL). И вот после этогого я просто на стороне сервера:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function removeGeozone($deviceSerial, $userId, $geozoneName) {
        $queryText = "DELETE FROM `Geozones` WHERE `UserId` = :userid AND `SerialDevice` = :serial AND `Name` = :geozonename";
        $query = $this->db->prepare($queryText);
        $query->bindParam(":userid",       $userId,       PDO::PARAM_INT);
        $query->bindParam(":serial",       $deviceSerial, PDO::PARAM_STR);
        $query->bindParam(":geozonename",  $geozoneName, PDO::PARAM_STR);
        try {
            $query->execute();
            return 1;
            
        } catch (PDOException $e) {
            return $e->getMessage();
        }
        return 0;
    }
А теперь результат в консоли с лишним \n. И соответственно условие в callback'e не выполняется. ОТКУДА НОВАЯ СТРОКА?
См. прикрепление.
Миниатюры
AJAX-запрос добавляет лишнюю строку в ответ  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2016, 19:08
Ответы с готовыми решениями:

Ответ на AJAX запрос
Всем привет. Не могу разобраться, я либо понял как работать с ajax либо нет) Вот такой код на...

Ajax не принимает ответ на post-запрос
Здравствуйте. Посылаю POST-запрос на чистом ajax php-сценарию. В php-файле происходит выборка из...

JQuery ajax запрос и php ответ
Предполагается, что получив от сервера ответ JS выведет логин, добавив его в тело страницы. Почему...

Ajax запрос -> Редиректы на сервере -> Ответ (узнать Request URL)
Здравствуйте, форумчане. Пример: 1. Отправляю AJAX-запрос с URL вида: '/news/100/' 2. На...

5
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
22.08.2016, 19:42 2
Цитата Сообщение от Prorok2323 Посмотреть сообщение
ОТКУДА НОВАЯ СТРОКА?
Как вариант, в каком-то php скрипте (например в начале или в конце файла) символ перехода на новую строку находится вне блока <?php ?>. А пока он не нашелся вместо:
Javascript
1
if (result == '1') {
используйте это:
Javascript
1
if (result.trim() == '1') {
0
173 / 131 / 74
Регистрация: 04.12.2013
Сообщений: 552
22.08.2016, 19:43  [ТС] 3
Цитата Сообщение от Евгений М. Посмотреть сообщение
в каком-то php скрипте (например в начале или в конце файла) символ перехода на новую строку находится вне блока <?php ?>
блин, не могу найти...
А говнокод ну не очень хочу использовать.
Цитата Сообщение от Евгений М. Посмотреть сообщение
используйте это
0
1 / 1 / 0
Регистрация: 19.08.2016
Сообщений: 13
23.08.2016, 10:48 4
return '1';
0
173 / 131 / 74
Регистрация: 04.12.2013
Сообщений: 552
23.08.2016, 15:11  [ТС] 5
tsapkin, не помогло.

Добавлено через 4 часа 16 минут
upp
0
1 / 1 / 0
Регистрация: 19.08.2016
Сообщений: 13
24.08.2016, 03:17 6
Надо смотреть что происходит после возврата 1. Как отдается результат. в коде PHP. Явно какая-то пустая строка выводится в этом файле. Нет ли там директив сообщений об ошибках? Или в настройках эти директивы стоят, тогда надо их запретить в этом модуле. Я для передачи подобных значений пользуюсь JSON. Это избавляет от анализа всего мусора, что может быть передан в ответ. Раз Вы пользуетесь JQuery, посмотрите в сторону $.getJSON
0
24.08.2016, 03:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.08.2016, 03:17
Помогаю со студенческими работами здесь

Ajax запрос и ответ на него - все это без перезагрузки страницы
Объясню задачу: На странице есть текстовое поле через которое вводятся некоторые данные, и на этой...

После вставки ответа ajax в input запроса, ответ ajax не изменяется
Здравствуйте! В общем так, есть поле input, есть таблица с полем count. Задача: изменить...

AJAX запрос к файлу, который сам делает AJAX запрос
Прошу прощение за название темы, но я не знаю как это коротко описать... Здравствуйте. На...

Ajax запрос в div с уже 'прилетевшим' ajax'om
Добрый день, ребят... Не нашёл отдельного раздела по ajax, а разобраться очч надо, т.к.в JS полный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru