Magento Ajax请求 - 如何正确传递数据?

时间:2016-07-19 21:53:59

标签: php jquery ajax magento module

因为几个星期(两​​个星期)开始了与Magento的冒险。到目前为止,我已经学到了一点但是如何使用Ajax(jQuery)发送数据存在问题。

$(document).ready(function(){
        var total = $(this).find(\"input[class=tramp]:checked\").length;
        $(\".caret input[type='checkbox']\").change(function(){
            if($(this).is(':checked')){
                var value= true;
                }else{
                    var value = false;
                }               
            var brand = $(this).data('brand');

            data = {brand: brand, value: value}
            $.ajax({
                data: data,
                url: 'checkbox/ajax/index',
                method: 'POST',
                success: function(result){
                    console.log(data, total);
            }});
        });

});

这是我的Ajax,因此您可以看到尝试发送品牌和价值。 AjaxController.php看起来像这样:

class Amber_Checkbox_AjaxController extends Mage_Core_Controller_Front_Action {

public function indexAction()
{
    $brand = Mage::app()->getRequest()->getPost('brand', 'value');// not sure or I should use data?
    if($brand )
    {
        ....
        $this->getResponse()->setBody($brand);

        echo $brand;
        ...
    }
}

}

2 个答案:

答案 0 :(得分:0)

删除\"

$(document).ready(function(){
        var total = $(this).find("input[class=tramp]:checked").length;
        $(".caret input[type='checkbox']").change(function(){
            if($(this).is(':checked')){
                var value= true;
                }else{
                    var value = false;
                }               
            var brand = $(this).data('brand');

            data = {brand: brand, value: value}
            $.ajax({
                data: data,
                url: 'checkbox/ajax/index',
                method: 'POST',
                success: function(result){
                    console.log(data, total);
            }});
        });
});

答案 1 :(得分:0)

删除\“,$替换为 jQuery 并传递绝对网址Mage::getUrl('checkbox/ajax/index');

$.ajax({
  data: data,
  url: '<?php echo Mage::getUrl("checkbox/ajax/index"); ?>',
  method: 'POST',
  success: function(result){
  console.log(data, total);
}});