Reading list Switch to dark mode

    Redirect to a Page after Ajax Request Magento 2

    Updated 22 February 2024

    If you send an Ajax request and want to redirect your controller to a particular controller, or if you want to redirect back to the previous page, then you can follow the following code:

    <?php 
        
    namespace Webkul\Test\Controller\Index;
    
    use \Magento\Framework\App\Action\Action;
    
    class CustomAjax extends Action {
    
        public function execute()
        {
            $url = $this->_url->getUrl('customer/account');//You can give any url, or current page url
            //Your ajax Request Code
            return $this->goBack($url);
        }
        protected function goBack($backUrl = null)
        {
            //if controller request is not ajax type
            if (!$this->getRequest()->isAjax()) {
                if ($backUrl || $backUrl = $redirectUrl) {
                    $resultRedirect = $this->resultRedirectFactory->create();
                    $resultRedirect->setUrl($backUrl);
                    return $resultRedirect;
                }
            }
            //if request is ajax type then it create result of json type and return the result
            $result = [];
            if ($backUrl || $backUrl = $redirectUrl) {
                $result['backUrl'] = $backUrl;
            }
            $this->getResponse()->representJson(
                $this->_objectManager->get('Magento\Framework\Json\Helper\Data')
                    ->jsonEncode($result)
            );
        }
    }

    After your Ajax request code, it redirects you to the customer/account page.

    I hope this blog will help you with Redirect to a Page after Ajax Request Magento 2. You may also check our wide range of best Magento 2 Extensions.

    Please reach out to our team via a support ticket if you have any queries.

    Try this and if you have any queries then just comment below 🙂

    Searching for an experienced
    Magento 2 Company ?
    Find out More
    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    1 comments

  • Ankit Shah
  • Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home