从magento调用Ajax的问题

时间:2013-06-15 13:32:48

标签: php jquery magento magento-1.7

在这里输入代码

我是magento的新手。 我试图从JavaScript调用Ajax。 我创建了一个模块和一个控制器。 我启用了该模块以及控制器。 我的包名称是包,模块名称是ajax。 Controller Name是模块控制器目录中的AjaxController.php。 我想使用的函数名是没有参数的ViewAction。 我回复了一条简单的信息。

所以我的网址变为

http://216.12.194.46/~thetyrec/magento/index.php/ajax/ajax/view/

or   http://216.12.194.46/~thetyrec/magento/ajax/ajax/view/

我在这两个方面都收到404错误。

请指导我。我可能出错的地方或如何进一步调试。

我没有在var / report和日志文件中看到任何此类问题。

我关注的教程是http://blog.baobaz.com/en/blog/magento-module-create-your-own-controller

修改:

经过更多调试后,我发现我收到了错误

a:5:{i:0;s:51:"Controller file was loaded but class does not exist";i:1;s:1072:"#0 /home/thetyrec/public_html/magento/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(326): Mage::exception('Mage_Core', 'Controller file...')

当我尝试访问网址

http://216.12.194.46/~thetyrec/magento/index.php/ajax/ajax/view

我的控制器代码是

class Package_Ajax_AjaxController extends Mage_Core_Controller_Front_Action
{
    public function viewAction()
   {

       echo "I am getting below value:";
    }
}

2 个答案:

答案 0 :(得分:1)

如果你想从phtml文件中调用前端控制器的ajax功能,那么你可以这样做: 在phtml上的页面顶部创建ajax函数,如

<script>

function SubmitRequest()
{

  var values = "Your dummy value";
  new Ajax.Request('ajax/index/view/', {
  method: 'post',
  parameters: {cmb: values},
  onSuccess: successFunc()
  });

}

function successFunc(){

   return function(response){     
     var container = $("mydiv");
    var content = response.responseText;
    container.update(content);

  }

}


</script>

您的控制器功能将是这样的:

public function viewAction()
{

    echo  $_POST['cmb'];
 }

答案 1 :(得分:0)

如果你仔细阅读他的问题不是如何进行Ajax调用,而是调用他的控制器动作。

我建议检查config.xml中<frontName>内的<frontend><routers>标记。

然后拨打电话:

http://216.12.194.46/~thetyrec/magento/index.php/CONTENT OF FRONTNAME/ajax/view

您不需要使用Ajax进行验证,只需通过浏览器调用URL即可。

顺便说一句,不要只是回应,在你的控制器动作中做这样的事情:

$this->getResponse()->setHeader('Content-type', 'application/json');

$this->getResponse()->setBody($jsonData);

祝你好运!