用户
 找回密码
 入住 CI 中国社区
搜索
查看: 12031|回复: 6
收起左侧

[讨论/交流] CI框架中使用JQ的Ajax方法的问题

[复制链接]
发表于 2014-7-15 20:50:36 | 显示全部楼层 |阅读模式
本帖最后由 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);

        }





发表于 2014-7-16 14:53:13 | 显示全部楼层
本帖最后由 sn01615 于 2019-5-24 12:10 编辑

服务端是不是返回了500错误?
发表于 2014-7-16 13:11:05 | 显示全部楼层
因为你没有return一个值, 如果不return一个值 那就是exit起作用
发表于 2014-7-17 09:08:58 | 显示全部楼层
IvanCI说的非常有道理,一般情况下我在用ajax和后端进行交互的时候都会在后端exit('你要的值');然后前端在success事件中判断返回的值给用户不同的提示。可以到我开发的www.dianying90.com中看一下。
发表于 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格式
}


发表于 2014-7-17 11:18:50 | 显示全部楼层
是你返回的格式有问题 你压根就没返回东西啊
发表于 2014-7-17 11:19:16 | 显示全部楼层
是你返回的格式有问题 你压根就没返回东西啊

本版积分规则