CI:在ajax响应中获取返回的信息

时间:2016-06-02 13:27:05

标签: php jquery ajax codeigniter

我正在开发一个包含CI和Ajax的项目。因为,经过很长一段时间我正在使用ajax,我在调试时遇到了一些问题。我写了这段代码。我将数据发送到控制器函数login。请指导我如何检查数据是否到达控制器和型号。以及如何将数据从模型返回到控制器以及从控制器返回到视图。

我的Ajax代码如下:

$('#login').click(function () {
    if (($('#inputUname').val() === "") || ($('#inputPassword').val() === "")) {
        alert('please username and password');
    } else {
        var data = {
            'uname': $('#inputPassword').val(),
            'pwd': $('#inputPassword').val()
        };
        $.ajax({
            type: "POST",
            url: base_url + "home/login",
            data: data,
            dataType: "json",
            success: function (response)
            {
                alert('Ajax Success');
            }, error: function () {
                alert('Ajax Error');
            }
        });
    }
});

Controller home.php代码如下:

public function login() {
    $uname = $this->input->post('uname');
    $pwd = $this->input->post('pwd');
    $data['userinfo'] = $this->dis_model->check_user($uname,$pwd);
    return $data;
}

和Model Dis_model.php代码如下:

function check_user($uname, $pwd) {
        $this->db->select('*');
        $this->db->where('uname', $uname);
        $this->db->where('pwd', $pwd);
        $query = $this->db->get('users');
        return $query->result();
    }

欢迎所有积极的建议。

提前致谢。

2 个答案:

答案 0 :(得分:0)

更改控制器:

public function login() {
$uname = $this->input->post('uname');
$pwd = $this->input->post('pwd');
$data['userinfo'] = $this->dis_model->check_user($uname,$pwd);
echo $uname;
exit;
}

ajax的变化:

 $('#login').click(function () {
if (($('#inputUname').val() === "") || ($('#inputPassword').val() === "")) {
    alert('please username and password');
} else {
    var data = {
        'uname': $('#inputPassword').val(),
        'pwd': $('#inputPassword').val()
    };
    $.ajax({
        type: "POST",
        url: base_url + "home/login",
        data: data,
        dataType: "json",
        success: function (response)
        {
            alert(response);
        }, error: function () {
            alert('Ajax Error');
        }
    });
}
});

同样的模态

答案 1 :(得分:0)

控制器更改

public function login() {
   $uname = $this->input->post('uname');
   $pwd = $this->input->post('pwd');
   $data['userinfo'] = $this->dis_model->check_user($uname,$pwd);
   echo json_encode($data['userinfo']);
   die;
}

改变ajax

     $('#login').click(function () {
      if (($('#inputUname').val() === "") || ($('#inputPassword').val() === "")) {
        alert('please username and password');
       } else {
 var data = {
    'uname': $('#inputPassword').val(),
    'pwd': $('#inputPassword').val()
};
$.ajax({
    type: "POST",
    url: base_url + "home/login",
    data: data,
    dataType: "json",
    success: function (response)
     {
         alert(response);
     }, error: function () {
         alert('Ajax Error');
     }
  });
  }
});