@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. Подскажите, пожалуйста, как это сделать?
  • Вопрос задан
  • 271 просмотр
Решения вопроса 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 запрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы