2016-06-09 147 views
0

我正在使用Magento 2我想從我的自定義js發送AJAX請求。403 Magento 2中的禁止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

URL是錯誤的,你需要了解Magento2結構,然後再開始代碼在Magento2。

你使用的是塊不是一個控制器,

首先你需要在文件等/前端/ 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> 

比之後您需要定義定義路由Controller文件控制器/索引/ 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"; 
    } 
} 

現在你可以使用URL作爲

previewtag/index/indexpreviewtag

兩個作品相同的