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

[讨论/交流] view层用ajax提交数据在后台怎么查看提交过来的数据

[复制链接]
发表于 2015-2-4 10:40:04 | 显示全部楼层 |阅读模式
这是我前端的脚本代码
<script type="text/javascript">
                          function updatepwd(){
                                  var o_pwd=document.getElementById('pwd').value;
                                  var pwd=document.getElementById('newpwd').value;
                                  var checkpwd=document.getElementById('checkpwd').value;
                                $.ajax({
                                        type:"OST",
                    url:"http://www.fishweb.com/code/shop_admin/checkpwd",
                    dataType:"json",
                    data:{"pwd"_pwd,"newpwd":checkpwd},
                    success:function(){
                         alert('Success');
                         return true;
                    },
                    error:function(){
                         alert('Failed');
                         return false;
                    }       
                                });
                          }
          </script>

 楼主| 发表于 2015-2-4 15:38:34 | 显示全部楼层
yho 发表于 2015-2-4 15:23
success:function(data){
                      if(data.state == '1'){
                         alert( ...

function updatepwd(){
                                var username=document.getElementById('username').value;
                                  var o_pwd=document.getElementById('pwd').value;
                                  var pwd=document.getElementById('newpwd').value;
                                  var checkpwd=document.getElementById('checkpwd').value;
                                $.ajax({
                                        type:"OST",
                    url:"http://www.fishweb.com/code/shop_admin/checkpwd",
                    dataType:"json",
                    data:{"username":username,"old_pwd"_pwd,"newpwd":pwd,"checkpwd":checkpwd},
                    success:function(data){
                         if(data.status == '1'){
                                                         alert('修改成功!');
                                                         return true;
                                                 }else{
                                                         alert('修改失败!');
                                                 }
                    }
                                });
                          }

后台数据修改了,但是前台没用alert弹框是什么情况

 楼主| 发表于 2015-2-4 12:13:12 | 显示全部楼层
jiekexuan 发表于 2015-2-4 12:00
你用火狐 firebug 调试一下 看看到底哪里处错误了

我的逻辑是,前台把旧密码old_pwd,新密码   newpwd  和再次输入新密码  checkpwd传到后台。先根据用户名密码查询是否存在,存在就更新新密码,求指教怎么写

function checkpwd(){
                        $pwd=$this->input->post('pwd');
                        $newpwd=$this->input->post('newpwd');
                        $username = $this->session->userdata('shop_name');
                        $this->load->model('shopadmin');
                        $res=$this->shopadmin->getinfo($username,$pwd);//查询是否存在
                        if($res){
                                $rel=$this->shopadmin->updatepwd($username,$newpwd);//存在就更新密码
                                if($rel>0){
                                         echo "{\"success\": true,\"msg\":\"操作成功!\"}";
                                }
                        }else{
                                echo "{\"Falied\": false,\"msg\":\"操作失败!\"}";
                        }
                }


这是我现在的控制器代码
 楼主| 发表于 2015-2-4 14:12:58 | 显示全部楼层
jiekexuan 发表于 2015-2-4 11:59
是这样的  checkpwd 只要有返回值他就走SUCCESS 就应该能弹alert啊

这是我现在的控制器代码
function checkpwd(){
                        $pwd=$this->input->post('old_pwd');
                        $newpwd=$this->input->post('newpwd');
                        $username=$this->input->post('username');
                        $this->load->model('shopadmin');
                        $res=$this->shopadmin->getinfo($username,$pwd);
                        if($res>0){
                                $rel=$this->shopadmin->updatepwd($username,$newpwd);
                                if($rel>0){
                                        echo json_encode(array('status'=>1));
                                }else{
                                        echo json_encode(array('status'=>0))
                                }
                        }
                }



那这个json_encode(array('status'=>1)) 的这个status怎么用呢?
 楼主| 发表于 2015-2-4 10:40:52 | 显示全部楼层
求大神解答啊,最后借个小案例看看最好啦
发表于 2015-2-4 11:51:27 | 显示全部楼层
本帖最后由 jiekexuan 于 2015-2-4 11:57 编辑

http://www.fishweb.com/code/shop_admin/checkpwd 这不是你的路径吗?说明最后checkpwd肯定是控制器啊, 在这个控制器里这么写
PHP复制代码
 
pbulic function checkpwd(){
         $pwd= $this->input->post("pwd");
         $newpwd=$this->input->post("newpwd");
        ..............................
       最后一定要给个返回值 成功返回 echo json_encode(array('status'=>1));不成功返回echo json_encode(array('status'=>0))
}
复制代码

  由于你使用的是$.AJAX的这种方式,你在弹alert的时候可能都是走的SUCESS这个 不会走ERRO。只有 checkpwd有返回值 就是SUCEESS ,随意在服务器端做判断返回两种情况。在success里面做判断调用。

 楼主| 发表于 2015-2-4 11:54:01 | 显示全部楼层
jiekexuan 发表于 2015-2-4 11:51
http://www.fishweb.com/code/shop_admin/checkpwd 这不是你的路径吗?说明最后checkpwd肯定是控制器啊,  ...

我的控制器是这么写的:             public function checkpwd(){
                        $pwd=$this->input->post('pwd');
                        $newpwd=$this->input->post('newpwd');
                        $username = $this->session->userdata('shop_name');
                        $this->load->model('shopadmin');
                        $res=$this->shopadmin->getinfo($username,$pwd);
                        //var_dump(json_encode($res));
                }


不知道正不正确,但是点击没用
发表于 2015-2-4 11:59:03 | 显示全部楼层
是这样的  checkpwd 只要有返回值他就走SUCCESS 就应该能弹alert啊
发表于 2015-2-4 12:00:44 | 显示全部楼层
你用火狐 firebug 调试一下 看看到底哪里处错误了
 楼主| 发表于 2015-2-4 12:32:21 | 显示全部楼层
jiekexuan 发表于 2015-2-4 12:00
你用火狐 firebug 调试一下 看看到底哪里处错误了

fire

fire



这是firebug查看的
发表于 2015-2-4 13:31:48 | 显示全部楼层
2222 发表于 2015-2-4 12:13
我的逻辑是,前台把旧密码old_pwd,新密码   newpwd  和再次输入新密码  checkpwd传到后台。先根据用户名 ...

根據你的邏輯我說一些建議

1. 先檢查用戶是否已登入
以帳號+密碼兩種資料去搜尋是否有這個帳戶
帳號欄位必須具有唯一性

2. 若已登入則獲取此帳戶的資料
這時候就可以拿來核對用戶所輸入的舊密碼是否正確

3. 若正確就更換密碼並登出

 
发表于 2015-2-4 14:09:45 | 显示全部楼层
你这个明显是没有返回值啊

本版积分规则