2014-09-15 3 views
3

Почему аякс-вызов из блендера magento (из .phtml) перенаправляется на панель инструментов magento, несмотря на правильную отправку формы с формой? пожалуйста помоги.Как использовать ajax в блендере 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); 
    }); 
+0

Если вы правильно поняли, что вы показываете JS-код, но вы говорите об ответе от контроллера. Не могли бы вы показать код из метода 'addNewColumnAction'? – Aleksandr

+0

функция addNewColumnAction общественности() { \t \t \t \t $ Данные = Mage :: приложение() -> GetRequest() -> GetParam ('data1'); \t var_dump ($ data); \t} – Mukesh

+0

Я не уверен, что вы называете это действием. Не могли бы вы добавить неправильный код после вашего 'var_dump', например. 'Var_dump ($ данных); дд(); '. Если вы будете перенаправлены на панель управления, это будет означать, что вы вызываете действие по неправильному маршруту – Aleksandr

ответ

7

Он работал, когда я отправил form_key в «данные» вызова ajax.

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); 
}); 
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']); 
     } 
     }); 
    }); 
Смежные вопросы