Задать вопрос
@eridanlivia

Как встроить html-код в массив php?

Имеется код:
if (!empty($error_fields)) {
    $response = [
        "status" => false,
        "type" => 1,
        "message" => "Все поля должны быть заполнены. Пожалуйста, подождите 30 сек.",
        "fields" => $error_fields
    ];

    echo json_encode($response);

    die();
}


Мне нужно в элемент message вместо текста встроить html-код с js. Подскажите, пожалуйста, как это сделать?
  • Вопрос задан
  • 293 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
tomclancys
@tomclancys
Берёте и встраиваете экранируя все кавычки как минимум.
"message" => "<div class=\"models\"></div>",

JS код обычно не отдаёт через JSON. 'это какой то дикий костыль получается JS код лучше описать отдельно и отдавать некие условия, чтобы он отработал потом на основе ответа JSON. Например добавить параметр в JSON "status" => "error" и "status" => "success" и в JS через if условия.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Вам не нужно ни JS, ни HTML записывать в message. В json лучше держать "чистые" данные без форматирования (серверный API не должен ничего знать, как рисовать интерфейс пользователя).
Ваша проблема связана с тем, что нужное форматирование сообщения необходимо произвести в функции callback на стороне JS, откуда был вызван AJAX запрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽