从ExtJs调用CI控制器

时间:2013-10-30 10:17:44

标签: extjs codeigniter-2 extjs4.2

我正在controller中创建Code Igniter,并在formExtJs 4.2.1现在从我称之为控制权的地方和如何制作url? 我使用了form的{​​{1}}属性并将controller名称放在那里,但没有任何反应

更新

我想我不是在清除我的问题,实际上我想通过submit函数发布数据,我将数据传递到服务器端的php文件中我使用Code Igniter Rest Api所以这里我希望传递数据到特定控制器

2 个答案:

答案 0 :(得分:0)

ExtJs是一个javascript框架,在客户端执行。它有自己的MCV系统。

将php控制器与javascript视图混淆是没有意义的。

请务必阅读introduction to MVC in ExtJS

同样在ExtJS中,您不会调用控制器。在初始化应用程序时,所有控制器都会被加载。在控制器中,您可以定义它必须控制的内容,然后从神奇的角度来定义:控制器中定义的事件会在需要时触发。

答案 1 :(得分:0)

在ExtJS 3.3.1中

在登录表单中输入按钮并调用函数submit_login();

buttons: [{
        text: 'Login',
        handler: function() {
            submit_login();
        }
    }]

Submit_login()代码是,我用Ext.Ajax.request提交登录参数 您可以使用alert(response.responseText)调试消息:

function submit_login() {var useridx = Ext.getCmp('useridx').getValue();var userpasswordx = Ext.getCmp('userpasswordx').getValue();Ext.Ajax.request({url:'".$url."',        method:'POST',
    params :{useridx:useridx,userpasswordx:userpasswordx},
    success:function(response){
        //alert(response.responseText);
        //return;
        var jsonData = Ext.util.JSON.decode(response.responseText);
        var resultMessage = jsonData.Message;
        var isLogin = jsonData.isLogin;
        if (isLogin)
        {
            window.location = '';
        }
        else
        {
            Ext.Msg.alert('Info',resultMessage);
        }
    },
    failure: function(){
    Ext.Msg.alert('Not OK');
    }
});

}

变量$ url是:

$url = "index.php/apps/login";

您可以创建Apps控制器 并创建函数登录

public function login()
{
    $this->load->view('login');
}

在视图中创建login.php

        if ($i==1) {
        //session_start();
        $this->session->set_userdata('userid',$useridx); echo '{"success" : true, "isLogin": true,"Message" : "User Successfully Login"}';
    } else {

        echo '{"success" : true, "isLogin": false, "Message" : "Salah User: '.$useridx.' dan Password "}';
    }

您也可以使用相同的代码在Ext JS 4.2.1中执行此操作。

这对我有用

Andrex Maulana