关于ajax请求返回值的问题

后台代码:

public void update(){

Integer id=getParaToInt("id");

String name=getPara("name");

String password=getPara("password");

Integer power=getParaToInt("power");

Integer age=getParaToInt("age");

String sql="update user set name=?,password=?,power=?,age=? where id="+id+"";

int ints=Db.update(sql,name,password,power,age);

renderJson(ints);

user1();

//String s=Integer.toString(ints);

return ;

}

前台代码:

$.ajax({

type:'post',

async:false,

url:'/update',

data:{id:id,name:name,password:password,power:power,age:age},

dataType:'json',

success:function(ints){

console.log(ints+"------------------------------------");

},

error:function(){

console.log("error");

}

});

请问  如何 使后台传过来的值在 success:function(ints){}   这个方法接收到???

之前一直是进入 error:function(){  } 这个方法  

评论区

JFinal

2017-03-07 14:29

你的代码没有业务层,这是极大的错误,添加上业务层,让业务层处理业务,并返回合理的返回值

俱乐部专享福利项目 jfinal-club 是这样做的:
1:建立业务层
2:让业务层返回一个 Ret 对象,用于承载业务处理的一切结果
3:控制层理论上仅需一行代码: renderJson(service.justDoit(getPara(...), ...));

业务层大致这样:
public Ret login(String userName, String password) {
....
if (...) {
return Ret.fail("msg", "用户名或密码错误");
} else {
return Ret.ok("loginUser", user);
}
}

控制层大致这样:
Ret ret = loginService.login(getPara("userName"), getPara("password"));
renderJson(ret);

考虑一下加入俱乐部,有大量这类代码,直接可用:http://jfinal.com/club

热门反馈

扫码入社