Quantcast
Channel: Webkul Blog
Viewing all articles
Browse latest Browse all 5488

Return JSON Data with AJAX call in Magento 2

$
0
0

Today, we will see how to return json data from controller while doing an ajax call.
Situation may come that you are doing some customization and need to deal will json data from controller then here is the way how we can go for it.

For that we can use the magento core class,

Magento\Framework\Controller\ResultFactory

which has list of constant mapped to corresponding classes :

self::TYPE_JSON => 'Magento\Framework\Controller\Result\Json',
self::TYPE_RAW => 'Magento\Framework\Controller\Result\Raw',
self::TYPE_REDIRECT => 'Magento\Framework\Controller\Result\Redirect',
self::TYPE_FORWARD => 'Magento\Framework\Controller\Result\Forward',
self::TYPE_LAYOUT => 'Magento\Framework\View\Result\Layout',
self::TYPE_PAGE => 'Magento\Framework\View\Result\Page'

among these, we can use the constant to return json data :

const TYPE_JSON = 'json';

Now here is the complete code to implement above.

<?php
/**
 * Webkul Software.
 *
 * @category  Webkul
 * @package   Webkul_<modulename>
 * @author    Webkul Software Private Limited
 * @copyright Copyright (c) Webkul Software Private Limited (https://webkul.com)
 * @license   https://store.webkul.com/license.html
 */
namespace Webkul\<modulename>\Controller\Attachment;

use Magento\Framework\Controller\ResultFactory;

class <action> extends \Magento\Framework\App\Action\Action
{

    /**
     * @var \Magento\Framework\App\Action\Contex
     */
    private $context;

    /**
     * @param \Magento\Framework\App\Action\Context $context
     */
    public function __construct(
        \Magento\Framework\App\Action\Context $context
    ) {
        parent::__construct($context);
        $this->context           = $context;
    }
	
    /**
     * @return json
     */
    public function execute()
    {
        $whoteData = $this->context->getRequest()->getParams();
        $resultJson->setData(["message" => ("Invalid Data"), "suceess" => true]);
        return $resultJson;
    }
}

This is all we need , hope this help you out. happy coding.


Viewing all articles
Browse latest Browse all 5488

Trending Articles