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>
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弹框是什么情况
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\":\"操作失败!\"}";
}
}
这是我现在的控制器代码
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怎么用呢?
求大神解答啊,最后借个小案例看看最好啦 本帖最后由 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里面做判断调用。
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));
}
不知道正不正确,但是点击没用
是这样的checkpwd 只要有返回值他就走SUCCESS 就应该能弹alert啊
你用火狐 firebug 调试一下 看看到底哪里处错误了 jiekexuan 发表于 2015-2-4 12:00
你用火狐 firebug 调试一下 看看到底哪里处错误了
这是firebug查看的
2222 发表于 2015-2-4 12:13
我的逻辑是,前台把旧密码old_pwd,新密码 newpwd和再次输入新密码checkpwd传到后台。先根据用户名 ...
根據你的邏輯我說一些建議
1. 先檢查用戶是否已登入
以帳號+密碼兩種資料去搜尋是否有這個帳戶
帳號欄位必須具有唯一性
2. 若已登入則獲取此帳戶的資料
這時候就可以拿來核對用戶所輸入的舊密碼是否正確
3. 若正確就更換密碼並登出
你这个明显是没有返回值啊
页:
[1]
2