为什么来自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);
});
答案 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);
}
});