NingerJohn 发表于 2014-7-15 20:50:36

CI框架中使用JQ的Ajax方法的问题

本帖最后由 NingerJohn 于 2014-10-21 08:16 编辑

CI框架中,使用JQ的ajax时,每次后台都能接收数据,但执行的函数却是error函数。控制器PHP能接收到数据并传到数据库中,但是ajax执行的是error函数1. ajax代码如下

                var email = $('input.email').val();
                var password = $('input.password').val();
                $.ajax({
                        type:"POST",
                        url:"register/submit/",
                        dataType:"json",
                        data:{"email":email,"password":password},
                        success:function(){
                              alert('Success');
                              return true;
                        },
                        error:function(){
                              alert('Failed');
                              return false;
                        }
                });

2. PHP控制器代码如下(控制器和数据库模型暂时没有分开)
      function submit(){
                $this->load->library('input');
                $email = $this->input->post('email');
                $password = md5($this->input->post('password'));
                $sql = "Insert into user (email,password) VALUES ('{$email}','{$password}')";
                $this->db->query($sql);

      }





sn01615 发表于 2014-7-16 14:53:13

本帖最后由 sn01615 于 2019-5-24 12:10 编辑

服务端是不是返回了500错误?

IvanCI 发表于 2014-7-16 13:11:05

因为你没有return一个值, 如果不return一个值 那就是exit起作用

tianshiakun 发表于 2014-7-17 09:08:58

IvanCI说的非常有道理,一般情况下我在用ajax和后端进行交互的时候都会在后端exit('你要的值');然后前端在success事件中判断返回的值给用户不同的提示。可以到我开发的www.dianying90.com中看一下。

mtzai 发表于 2014-7-17 09:26:52

本帖最后由 mtzai 于 2014-7-17 09:35 编辑

第一种方法 dataType:"json", 这句直接去掉就行了。
第二种方法 dataType:"json"保留不变。既然要求返回数据为json格式,那就得返回json格式,不能什么也不返回。
function submit(){
    $this->load->library('input');
    $email = $this->input->post('email');
    $password = md5($this->input->post('password'));
    $sql = "Insert into user (email,password) VALUES ('{$email}','{$password}')";
    $this->db->query($sql);
    echo "{\"success\": true,\"msg\":\"操作成功!\"}";//这只是json格式
}


jiekexuan 发表于 2014-7-17 11:18:50

是你返回的格式有问题 你压根就没返回东西啊

jiekexuan 发表于 2014-7-17 11:19:16

是你返回的格式有问题 你压根就没返回东西啊
页: [1]
查看完整版本: CI框架中使用JQ的Ajax方法的问题