簡體   English   中英

Magento 2中的403禁止的AJAX請求

[英]403 Forbidden AJAX request in Magento 2

我正在使用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 / app /代碼/Preview/Tag/Block/Baz.php

    <?php
namespace Preview\Tag\Block;

/**
* Baz block
*/
class Baz extends \Magento\Framework\View\Element\Template
{
    public function getTitle()
    {
        return "Foo Bar Baz";
    }
}

?>

您使用的URL錯誤,在Magento2中啟動代碼之前,您需要了解Magento2結構。

您正在使用的是塊而不是控制器,

首先,您需要在文件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>

比之后您需要定義控制器文件Controller / Index / 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/indexpreviewtag

兩者都一樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM