使用Ajax调用控制器方法不能在Magento中工作

时间:2014-12-08 05:23:50

标签: ajax magento-1.7

我在自定义模块中使用Ajax调用控制器方法。请参阅我的ajax呼叫代码 -

 var btnUpload=$('#upload');
    var status=$('#status');   

 new AjaxUpload(btnUpload, {
                        action:"<?php echo getUrl('character/adminhtml_ajax/fileUpload') ?>", /* module/controller/action */
                        name: 'uploadfile',
                        onSubmit: function(file, ext){
                             if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){ 

                                status.text('Only JPG, PNG or GIF files are allowed');
                                return false;
                            }
                            status.text('Uploading...');
                        },
                        onComplete: function(file, response){

                            status.text('');

                            if(response==="success"){
                                $('<li></li>').appendTo('#files').html('<img src="./uploads/'+file+'" alt="" /><br />'+file).addClass('success');
                            } else{
                                $('<li></li>').appendTo('#files').text(response).addClass('error');
                            }
                        }
                    });

但是它在管理magento的响应中给了我 system-&gt; configuration 页面的HTML,而没有调用控制器方法“ fileUpload ”。

这是我的控制器方法 -

<?php

class Assel_Character_Adminhtml_AjaxController extends Mage_Adminhtml_Controller_Action
{
    public function fileUploadAction()
    {
        echo "this is controller method";
    }
}

为什么会这样?..

1 个答案:

答案 0 :(得分:0)

尝试使用<?php echo getUrl('character/adminhtml/ajax/fileUpload') ?> 和ajax控制器文件应该是&#39; AjaxController.php&#39; in&#39; adminhtml&#39; 。目录