जवाबों:
आपके नियंत्रक में निम्नलिखित कोड लिखें:
namespace Company\Module\Controller\Index;
use Magento\Framework\Controller\ResultFactory;
class Actionname name extends \Magento\Framework\App\Action\Action
{
public function execute()
{
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
// Your code
$resultRedirect->setUrl($this->_redirect->getRefererUrl());
return $resultRedirect;
}
}
यह कोड मेरे लिए काम करता है। यह आपकी मदद भी करेगा।
यह छोटे रूप में Magento 2.0.4 में एक मान्य उत्तर हो सकता है
नाम स्थान Vendorname \ Modulename \ Controller \ Adminhtml \ Index; वर्ग फ़ेच \ \ बेंटो \ बैकेंड \ एप \ एक्शन बढ़ाता है { सार्वजनिक कार्य निष्पादन () { // TODO: कार्यान्वित निष्पादन () विधि। इस $ -> _ रीडायरेक्ट ($ इस -> _ redirect-> getRefererUrl ()); } }
execute
विधि या तो एक लौटने की उम्मीद है Magento\Framework\Controller\ResultInterface
या एक Magento\Framework\App\ResponseInterface
। सौभाग्य से _redirect
विधि उन लोगों में से एक है, इसलिए यह उचित है:return $this->_redirect($this->_redirect->getRefererUrl());
कृपया अपने नियंत्रक वर्ग में इस कोड का उपयोग करें:
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setRefererUrl();
return $resultRedirect;
यहाँ resultRedirectFactory एक वर्ग चर है जो आपकी कक्षा में माता-पिता से विरासत में प्राप्त किया जा सकता है।
यह देखने के लिए कि क्या रेफरल URL सेट है या नहीं, कृपया पहले $ _SERVER चर प्रिंट करें। यह कोड मेरे लिए काम कर रहा है।
public function execute(){
$resultRedirect = $this->resultRedirectFactory->create();
try{
$this->messageManager->addSuccess(__('Redirection Sucessful.'));
}catch (\Exception $e) {
$this->messageManager->addError($e->getMessage());
}
$resultRedirect->setUrl($this->_redirect->getRefererUrl());
return $resultRedirect;
}