Magento 通过 jquery ajax 调用自定义 php 代码

Magento call custom php code through jquery ajax

嗨,我是 magento 的新手,我正在尝试实现从前端通过 jquery ajax 调用简单的自定义 php。我在 google 中搜索过,他们给出了创建自定义模块的答案,然后您可以通过 jquery ajax 调用 php。我已经尝试了以下步骤是我尝试过的以下步骤请检查并让我知道我的错误是什么

<script>
                        var jq = jQuery.noConflict();
                        jq(document).ready(function(){
                            jq(".listing_duplicate" ).on( "click", function() {
                                var id= this.id;
                            var uniqu_number = id.split("_");

                            var unique  = uniqu_number[3];

jq.ajax({
            type: "POST",
            dataType: "JSON",
            data :{'value':unique},
            url :"<?php echo $this->getUrl('customajax/ajax/index'); ?>",
            success:function(data){
                alert(data);

              }
        });
         });
          });
</script>

以上是我调用 ajax

的 phtml 文件

我已经在下面的路径中创建了自定义模块 我创建了 xxx.com\app\code\local\Custom\Customajax\etc\config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <ThomasRyan_Checkoutajax>
      <version>0.1.0</version>
    </ThomasRyan_Checkoutajax>
  </modules>
  <frontend>
  <routers>
          <customajax>
            <use>standard</use>
            <args>
              <module>Custom_Customajax</module>
              <frontName>customajax</frontName>
            </args>
          </customajax>
       </routers>

    <layout>
     <updates>
       <checkoutajax>
         <file>checkoutajax.xml</file>
       </checkoutajax>
     </updates>
   </layout>
 </frontend>
</config>

在这个路径中我创建了控制器xxx.com\app\code\local\Custom\Customajax\controllers\AjaxController.php

<?php

class ThomasRyan_Checkoutajax_AjaxController extends Mage_Core_Controller_Front_Action {

     public function indexAction() {
        echo 'Hello Index!';
    }
}

在这个路径中我创建了块xxx.com\app\code\local\Custom\Customajax\block\Customajax.php

<?php
class Custom_Customajax_Block_Customajax extends Mage_Core_Block_Template
{
    echo "teswtme";
}
?>

最后激活我添加的模块 xxx.com\app\etc\config.xml

<blocks>
        <custom_customajax>
            <class>Custom_Customajax_Block</class>
        </custom_customajax>
    </blocks>

xxx.com\app\etc\modules\ThomasRyan_Checkoutajax.xml

<?xml version="1.0"?>
<config>
    <modules>
     <ThomasRyan_Checkoutajax>
            <active>true</active>
            <codePool>local</codePool>
        </ThomasRyan_Checkoutajax>
    </modules>
</config>

请告诉我在为我调用 jquery ajax 时哪里出错了它显示此错误未找到为什么它显示下面的错误是我的错误。

POST http://localhost/xxx.com/index.php/customajax/ajax/index/ 404 (Not找到)

您已经创建了 Custom > Yourmodule > files 之类的文件夹,并且在配置和其他任何地方都将其定义为 ThomasRyan_Checkoutajax 这就是您出错的地方。它应该是 Custom_Checkoutajax 就像你的代码

<?xml version="1.0"?>
<config>
<modules>
 <ThomasRyan_Checkoutajax>
        <active>true</active>
        <codePool>local</codePool>
    </ThomasRyan_Checkoutajax>
    </modules>
</config>

应该是

<?xml version="1.0"?>
<config>
 <modules>
   <Custom_Checkoutajax>
        <active>true</active>
        <codePool>local</codePool>
    </Custom_Checkoutajax>
 </modules>
</config>