답변:
상태 메시지를 렌더링하여 anohter AJAX 명령으로 보낼 수 있습니다.
예를 들면 다음과 같습니다.
$commands = array();
// Add other commands
$commands[] = ajax_command_prepend('div#ajax-status-messages-wrapper', theme('status_messages'));
return array('#type' => 'ajax', '#commands' => $commands);
적어도 이것이 내가 직면했을 때이 문제를 해결하는 방법입니다.
Drupal 8의 경우
$response = new AjaxResponse();
$status_messages = array('#type' => 'status_messages');
$messages = \Drupal::service('renderer')->renderRoot($status_messages);
if (!empty($messages)) {
$response->addCommand(new PrependCommand('.your_selector', $messages));
}
return $response;
AJAX가 포함 된 Drupal 8 양식의 경우 Tim Bozeman의 답변이 효과가 있었지만 메시지는 스타일링없이 표시되었습니다. 이것이 나를 위해 일한 것입니다.
$response = new AjaxResponse();
drupal_set_message($action);
$form['messages']['status'] = [
'#type' => 'status_messages',
];
$response->addCommand(new InsertCommand(null, $form['messages']));
return $response;