如何在magento后端使用ajax

时间:2014-09-15 14:30:52

标签: magento

为什么来自magento后端的ajax调用(来自.phtml)重定向到magento仪表板,尽管使用表单正确发送表单密钥?请帮忙。

在ajax电话中

var dataRecord = j('#newForm').serialize(); 
    var url = "<?php echo $this->getUrl('*/*/addNewColumn') ?>";

    j.ajax({
    type: "POST",
    url: url,
    data: {data1: dataRecord}
    })
    .done(function( msg ) {
        alert(msg);
    });

3 个答案:

答案 0 :(得分:9)

当我在ajax调用的'data'中发送form_key时,它工作正常。

var dataRecord = jQuery('#newForm').serialize(); 
var url = "<?php echo $this->getUrl('*/*/addNewColumn') ?>";
<?php $k = Mage::getSingleton('core/session')->getFormKey(); ?>

jQuery.ajax({
type: "POST",
url: url,
data: {data1: dataRecord,form_key:'<?php echo $k ?>'}
})
.done(function( msg ) {
    alert(msg);
});

答案 1 :(得分:2)

以下是管理面板中ajax的代码。

jQuery(".btn_save_email").click(function(){
        var data1val = jQuery('.data1val').val();
        var data2val = jQuery('.data2val').val();
        url = '<?php echo $this->getUrl('moduleName/adminhtml_controllerName/functionName') ?>';             
        new Ajax.Request(url, {
        parameters: {isAjax: 1, method: 'POST',data1:data1val,data2:data2val},
        onSuccess: function(transport) {
           jQuery('.class').html(transport['responseText']);
        }
       }); 
    }); 

答案 2 :(得分:0)

    var aurl = '<?php echo $this->getBaseurl(); ?>/films/test/ajax'; 
    var data = {};
   data['lsize'] = jQuery('#mySlider').slider("values", 0);
   data['rsize'] = jQuery('#mySlider').slider("values", 1); 
        jQuery.ajax({      
            type: "POST",
            url:aurl,
            dataType :'json',
            data:{ Data },                   
            success:function(response){ 
                jQuery('#output').html(response);
            }
        });