如何解决Magento 2管理配置页自定义按钮ajax未调用控制器操作
我在magento 2管理员配置菜单中有一个按钮,单击该按钮后它将成功调用ajax,但是从ajax中,控制器操作不会调用。
public function getAjaxUrl()
{
return $this->getUrl('mymodule/system_config/button');
}
这是button.phtml
<script>
require([
'jquery','prototype',],function(jQuery){
function function_name() {
params = {
};
jQuery.ajax({
url: "<?PHP echo $block->getAjaxUrl() ?>",type: "POST",dataType:'html',success: function( data ) {
alert(data);
},error: function (request,status,error) {
alert('error');
}
});
}
jQuery('#btn_rsakey').click(function () {
function_name();
alert('clicked');
});
});
</script>
<?PHP
echo $block->getButtonHtml();
?>
<?PHP
namespace Magento\mymodule\Controller\Adminhtml\System\Config;
use \Magento\Catalog\Model\Product\Visibility;
class Button extends \Magento\Backend\App\Action
{
protected $_logger;
public function __construct(
\Magento\Backend\App\Action\Context $context,\Psr\Log\LoggerInterface $logger
) {
$this->_logger = $logger;
parent::__construct($context);
}
public function execute()
{
$this->_logger->info('Sync Starts!!');
// Code to perform specific action
}
}
Here is the route.xml
<config xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="mymodule" frontName="mymodule">
<module name="mymodule" before="Magento_Backend" />
</route>
</router>
</config>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。