Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.04.2018, 13:02
Аспирант
Отправить личное сообщение для nGreg Посмотреть профиль Найти все сообщения от nGreg
 
Регистрация: 09.06.2017
Сообщений: 49

Лишний код в ajax-ответе
Господа! Прошу помощи.
Из php отправляю ajax-запрос. В php получаю данные из БД.
Кодирую:
...$datausers = json_encode($result);
Проверяю отладчиком - чистейший JSON код!
Проверяю код на сайте JSON Validator - код валидный!

Получаю данные обратно в ajax php-скрипта.
..и начинается бардак.
Не могу сделать parseJSON.
Консоль Хрома рисует ошибки. К чистому JSON коду (после закрывающей квадратной скобки) добавляется длинный текст :
<B>Ошибка DB:</B> <BR><BR>You have an error in your SQL syntax; ...

Ошибки в sql запросе нет и быть не может, т.к. в php я получаю нужные данные. Ради эксперимента вставил sql запрос прямо в админку mySQL. Всё работает.

Подскажите, откуда берётся эта дрянь?
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2018, 13:23
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от nGreg
Из php отправляю ajax-запрос.
Это не возможно, клиент, а не сервер делает запросы, сервер отвечает на них.

Сообщение от nGreg
К чистому JSON коду (после закрывающей квадратной скобки) добавляется длинный текст
Ошибка на сервере, конкретно в SQL запросе, которую возвращает отладчик (не просто текст, а html), следовательно будет и ошибка в разборе JSON.
Ответить с цитированием
  #3 (permalink)  
Старый 13.04.2018, 13:34
Аспирант
Отправить личное сообщение для nGreg Посмотреть профиль Найти все сообщения от nGreg
 
Регистрация: 09.06.2017
Сообщений: 49

- Запрос идёт из одного php-скрипта в другой (в модель). Так у меня уже несколько ajax-ов работает...

- Во втором случае не понял ответа..
Ответить с цитированием
  #4 (permalink)  
Старый 13.04.2018, 13:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от nGreg
Запрос идёт из одного php-скрипта
Запрос не может идти из РНР скрипта! Инициализирует запрос клиент, а асинхронный ли он, или нет, это не важно. Серверный скрипт может только перенаправить запрос клиента на другой адрес, либо подключить для выполнения другой скрипт.

Сообщение от nGreg
Во втором случае не понял ответа..
А чего тут непонятного, вам сервер ясно дает понять - ошибка на сервере, сообщает в чем. А это сообщение + валидный json, уже не есть json, а тем более валидный.

Разберитесь на сервере с причиной ошибки, устраните ее, клиент к этому отношения не имеет, если только не шлет в качестве параметров запроса непотребное.
Ответить с цитированием
  #5 (permalink)  
Старый 13.04.2018, 13:44
Аспирант
Отправить личное сообщение для nGreg Посмотреть профиль Найти все сообщения от nGreg
 
Регистрация: 09.06.2017
Сообщений: 49

Нет ошибок на сервере. Нет ошибок в sql запросе. Возвращаются корректные данные.
Ответить с цитированием
  #6 (permalink)  
Старый 13.04.2018, 13:44
Аспирант
Отправить личное сообщение для nGreg Посмотреть профиль Найти все сообщения от nGreg
 
Регистрация: 09.06.2017
Сообщений: 49

Вот кодированный JSON:
[{"id":"665","username":"\u041d\u043e\u0432\u0438\u 0447\u043e\u043a","name":"\u041f\u043e\u043b\u044c \u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c"} ,{"id":"3","username":"Greg","name":"\u0410\u0434\ u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0 442\u043e\u0440"}]

Ничего лишнего.
Ответить с цитированием
  #7 (permalink)  
Старый 13.04.2018, 13:45
Аспирант
Отправить личное сообщение для nGreg Посмотреть профиль Найти все сообщения от nGreg
 
Регистрация: 09.06.2017
Сообщений: 49

Вот ответ валидатора:
[{
"id": "665",
"username": "\u041d\u043e\u0432\u0438\u0447\u043e\u043a",
"name": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\ u0442\u0435\u043b\u044c"
}, {
"id": "3",
"username": "Greg",
"name": "\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\ u0440\u0430\u0442\u043e\u0440"
}]
Ответить с цитированием
  #8 (permalink)  
Старый 13.04.2018, 13:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

А это что?

Сообщение от nGreg
К чистому JSON коду (после закрывающей квадратной скобки) добавляется длинный текст :
<B>Ошибка DB:</B> <BR><BR>You have an error in your SQL syntax; ...
Ответить с цитированием
  #9 (permalink)  
Старый 13.04.2018, 13:48
Аспирант
Отправить личное сообщение для nGreg Посмотреть профиль Найти все сообщения от nGreg
 
Регистрация: 09.06.2017
Сообщений: 49

А это появляется уже на стороне приёма данных:

$.post("index.php?component=users&section=ajax", {event: "live", data: data}, function(datausers){
var listuser = $.parseJSON(datausers);
........
Ответить с цитированием
  #10 (permalink)  
Старый 13.04.2018, 13:49
Аспирант
Отправить личное сообщение для nGreg Посмотреть профиль Найти все сообщения от nGreg
 
Регистрация: 09.06.2017
Сообщений: 49

В переменной datauser...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Async в ajax runs AJAX и COMET 1 23.12.2015 20:25
Подскажите, как сюда прикрутить ajax? drkrol jQuery 9 25.09.2015 20:47
Ajax чат - проблема useruser AJAX и COMET 15 24.05.2014 21:58
php код на ajax kreigan1 AJAX и COMET 1 13.08.2013 07:28
jQuery Ajax ивент krasovsky jQuery 4 11.07.2013 11:55