Answers:
在您的控制器中编写以下代码:
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; 类Fetch扩展了\ Magento \ Backend \ App \ Action { 公共函数execute() { // TODO:实现execute()方法。 $ this-> _ redirect($ this-> _ redirect-> getRefererUrl()); } }
execute
方法应返回a Magento\Framework\Controller\ResultInterface
或a 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;
}