我正在使用Magento 2我想从我的自定义js发送一个AJAX请求。
这是代码
jQuery.ajax({
method: "POST",
url: "app/code/Preview/Tag/Block/Baz/getTitle",
data: {data: doc.output()},
}).done(function(data){
console.log(data);
});
但它禁止返回403。
请告诉我导致问题的原因。
控制器代码:
ROOT_DIR /应用程序/代码/预览/标签/块/ Baz.php
<?php
namespace Preview\Tag\Block;
/**
* Baz block
*/
class Baz extends \Magento\Framework\View\Element\Template
{
public function getTitle()
{
return "Foo Bar Baz";
}
}
?>
答案 0 :(得分:0)
您使用的网址错误,您需要在Magento2中启动代码之前了解Magento2 Structure。
您使用的是阻止而不是控制器,
首先你需要在文件 etc / frontend / routes.xml
中定义路线<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="previewtag" frontName="previewtag">
<module name="Preview_Tag" />
</route>
</router>
</config>
比您需要定义控制器文件控制器/索引/ Index.php
之后<?php
namespace Preview\Tag\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
public function execute()
{
// your code here
echo "Foo Bar Baz";
}
}
现在您可以将网址用作
previewtag/index/index
或previewtag
两者都相同