【问题标题】:Call CI Controller from ExtJs从 ExtJs 调用 CI 控制器
【发布时间】:2013-10-30 10:17:44
【问题描述】:

我现在在Code Igniter 中创建controller 并在ExtJs 4.2.1 中创建form,我现在从哪里调用控制以及如何? 我使用了formurl 属性并将controller 名称放在那里,但没有任何反应

更新

我想我并没有解决我的问题实际上我想通过submit 函数发布数据,在该函数中我将数据传递到服务器端的 php 文件我使用Code Igniter Rest Api 所以这里我想将数据传递给特定的控制器

【问题讨论】:

    标签: extjs codeigniter-2 extjs4.2


    【解决方案1】:

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

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

    请务必阅读introduction to MVC in ExtJS

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

    【讨论】:

      【解决方案2】:

      在 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";
      

      您可以创建应用程序控制器 并创建函数登录

      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 中使用相同的代码执行此操作。

      这对我有用

      安德烈克斯·毛拉纳

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多