Форумы портала PHP.SU » » Вопросы новичков » Какие данные обычно грузят в ответе AJAX

Страниц (1): [1]
 

1. DlTA - 24 Января, 2022 - 13:34:11 - перейти к сообщению
у меня на сайте я получаю данные через json ответ, но ощущение что что-то не так,
обычно туда вставляю часть html кода или данные.

НО может есть вариант как будет правильней отвечать?
2. Vladimir Kheifets - 24 Января, 2022 - 16:42:55 - перейти к сообщению
DlTA пишет:
у меня на сайте я получаю данные через json ответ, но ощущение что что-то не так,
обычно туда вставляю часть html кода или данные.

НО может есть вариант как будет правильней отвечать?


Добрый день!
Как Вы получаете ответ и что по ощущениям не так?
Про часть html кода в json.
Главное корректная структура данных, а что в кавычках ни какой роли не играет.
Например, файл content.json
CODE (javascript):
скопировать код в буфер обмена
  1. {
  2. "0":"<b>Fruits</b>",
  3. "1":"{a:Apple}",
  4. "2":"Orange",
  5. "3":"Grape"
  6. }

Браузер открывает чисто.
PHP тоже грузит без проблем
PHP:
скопировать код в буфер обмена
  1. <?
  2. $data = file_get_contents("content.json");
  3. echo "<textarea rows=30 cols=80>$data</textarea>";
  4. ?>
Показывает
Цитата:
{
"0":"<b>Fruits</b>",
"1":"{a:Apple}",
"2":"Orange",
"3":"Grape"
}

Удачи!
3. DlTA - 24 Января, 2022 - 17:06:42 - перейти к сообщению
Vladimir Kheifets пишет:
Главное корректная структура данных, а что в кавычках ни какой роли не играет.

это хорошо,
почему я думал что у меня не так, я смотрел на ответу у vk и других сайтов, у них обычно передают не часть html, обычно передаются данные для формирования html уже в браузере

Vladimir Kheifets пишет:
Показывает
Цитата:
{
"0":"<b>Fruits</b>",
"1":"{a:Apple}",
"2":"Orange",
"3":"Grape"
}

это не указано json_decode($data, 1)
4. Vladimir Kheifets - 24 Января, 2022 - 17:39:57 - перейти к сообщению
DlTA пишет:
Vladimir Kheifets пишет:
Главное корректная структура данных, а что в кавычках ни какой роли не играет.

это хорошо,
почему я думал что у меня не так, я смотрел на ответу у vk и других сайтов, у них обычно передают не часть html, обычно передаются данные для формирования html уже в браузере

Vladimir Kheifets пишет:
Показывает
Цитата:
{
"0":"<b>Fruits</b>",
"1":"{a:Apple}",
"2":"Orange",
"3":"Grape"
}

это не указано json_decode($data, 1)

Добавил
PHP:
скопировать код в буфер обмена
  1. <?echo "<pre>";
  2. print_r(json_decode($data,1));
  3. /*
  4. Array
  5. (
  6.     [0] => <b>Fruits</b>
  7.     [1] => {a:Apple}
  8.     [2] => Orange
  9.     [3] => Grape
  10. )
  11. */
  12. ?>


(Добавление)

Если по ощущениям что-то не так с json, добавьте в Ваш код перед json_decode:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. switch (json_last_error())
  3.         {
  4.         case JSON_ERROR_NONE:
  5.             echo ' - Ошибок нет';
  6.         break;
  7.         case JSON_ERROR_DEPTH:
  8.             echo ' - Достигнута максимальная глубина стека';
  9.         break;
  10.         case JSON_ERROR_STATE_MISMATCH:
  11.             echo ' - Некорректные разряды или несоответствие режимов';
  12.         break;
  13.         case JSON_ERROR_CTRL_CHAR:
  14.             echo ' - Некорректный управляющий символ';
  15.         break;
  16.         case JSON_ERROR_SYNTAX:
  17.             echo ' - Синтаксическая ошибка, некорректный JSON';
  18.         break;
  19.         case JSON_ERROR_UTF8:
  20.             echo ' - Некорректные символы UTF-8, возможно неверно закодирован';
  21.         break;
  22.         default:
  23.             echo ' - Неизвестная ошибка';
  24.         break;
  25.     }
  26.     echo "<hr>";
  27. ?>

 

Powered by ExBB FM 1.0 RC1