diff --git a/src/Controller/Component/AjaxComponent.php b/src/Controller/Component/AjaxComponent.php index e3f994a6..86b932e6 100644 --- a/src/Controller/Component/AjaxComponent.php +++ b/src/Controller/Component/AjaxComponent.php @@ -75,7 +75,7 @@ public function beforeRender(Event $event) { } /** - * AjaxComponent::respondAsAjax() + * AjaxComponent::_respondAsAjax() * * @return void */ @@ -88,6 +88,11 @@ protected function _respondAsAjax() { $this->Controller->set('_message', $message); } + // If _serialize is true, *all* viewVars will be serialized; no need to add _message. + if (!empty($this->Controller->viewVars['_serialize']) && $this->Controller->viewVars['_serialize'] === true) { + return; + } + $serializeKeys = ['_message']; if (!empty($this->Controller->viewVars['_serialize'])) { $serializeKeys = array_merge($serializeKeys, $this->Controller->viewVars['_serialize']);