2222 发表于 2015-2-4 10:40:04

view层用ajax提交数据在后台怎么查看提交过来的数据

这是我前端的脚本代码
<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:"POST",
                  url:"http://www.fishweb.com/code/shop_admin/checkpwd",
                  dataType:"json",
                  data:{"pwd":o_pwd,"newpwd":checkpwd},
                  success:function(){
                         alert('Success');
                         return true;
                  },
                  error:function(){
                         alert('Failed');
                         return false;
                  }       
                                });
                          }
          </script>

2222 发表于 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:"POST",
                  url:"http://www.fishweb.com/code/shop_admin/checkpwd",
                  dataType:"json",
                  data:{"username":username,"old_pwd":o_pwd,"newpwd":pwd,"checkpwd":checkpwd},
                  success:function(data){
                         if(data.status == '1'){
                                                       alert('修改成功!');
                                                       return true;
                                               }else{
                                                       alert('修改失败!');
                                               }
                  }
                                });
                          }

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

2222 发表于 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\":\"操作失败!\"}";
                        }
                }


这是我现在的控制器代码

2222 发表于 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怎么用呢?

2222 发表于 2015-2-4 10:40:52

求大神解答啊,最后借个小案例看看最好啦

jiekexuan 发表于 2015-2-4 11:51:27

本帖最后由 jiekexuan 于 2015-2-4 11:57 编辑

http://www.fishweb.com/code/shop_admin/checkpwd 这不是你的路径吗?说明最后checkpwd肯定是控制器啊, 在这个控制器里这么写
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里面做判断调用。

2222 发表于 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));
                }


不知道正不正确,但是点击没用

jiekexuan 发表于 2015-2-4 11:59:03

是这样的checkpwd 只要有返回值他就走SUCCESS 就应该能弹alert啊

jiekexuan 发表于 2015-2-4 12:00:44

你用火狐 firebug 调试一下 看看到底哪里处错误了

2222 发表于 2015-2-4 12:32:21

jiekexuan 发表于 2015-2-4 12:00
你用火狐 firebug 调试一下 看看到底哪里处错误了




这是firebug查看的

Closer 发表于 2015-2-4 13:31:48

2222 发表于 2015-2-4 12:13
我的逻辑是,前台把旧密码old_pwd,新密码   newpwd和再次输入新密码checkpwd传到后台。先根据用户名 ...

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

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

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

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

 

jiekexuan 发表于 2015-2-4 14:09:45

你这个明显是没有返回值啊
页: [1] 2
查看完整版本: view层用ajax提交数据在后台怎么查看提交过来的数据