Возвращаемый bool выдает ошибку "Недопустимый тип возвращаемого значения" для контроллера Ajax
Я хочу вызвать этот контроллер через Ajax и заставить его вернуть значение true или false. все методы работают правильно, однако я получаю ошибку
Недопустимый тип возвращаемого значения C:\Sites\retracted\wwwroot\vendor\magento\framework\App\Bootstrap.php (258): Magento\Фреймворк\Приложение\Http->запуск()
Поэтому я предполагаю, что с помощью действия extends я не могу просто вернуть логическое значение - но что должно быть, чтобы я мог вернуть bool?
use \Magento\Framework\App\Action\Action;
class IsEmailRegistered extends Action implements \Magento\Framework\DataObject\IdentityInterface
{
...
public function execute()
{
$result = $this->voucherHelper->validateEmail($email);
return $result;
}
}
6
Author: Siarhey Uchukhlebau, 2016-09-08
1 answers
Попробуйте следующий пример:
protected $resultJsonFactory;
/**
* @param Context $context
* @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
*/
public function __construct(
Context $context,
\Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory
)
{
$this->resultJsonFactory = $resultJsonFactory;
parent::__construct($context);
}
/**
* Collect relations data
*
* @return \Magento\Framework\Controller\Result\Json
*/
public function execute()
{
$result = $this->voucherHelper->validateEmail($email);
/** @var \Magento\Framework\Controller\Result\Json $result */
$resultJson = $this->resultJsonFactory->create();
return $resultJson->setData(['success' => $result]);
}
Но в вашем коде вы должны проанализировать ответ как JSON.
10
Author: Siarhey Uchukhlebau, 2016-09-08 12:30:41