背景: 想从后台返回一个获取到的对象,通过JSON。前台ajax得到结果后进行解析显示。
对应代码:
Controller 层:
public void searchUser(){
//获取检索入力条件
String account = getPara("account");
User u = User.dao.getUserByAccount(account);
renderJson("userInfo",u);
}返回的是一个User对象
function searchUser(account){
$.ajax({
type : "POST",
url : "/user/searchUser",
async: false,
dataType : "json",
data:{"account":account},
success : function(data) {
var userInfo = data.userInfo;
alert(userInfo.account);上述alert出来的结果是未定义。
但是如果我讲后台代码改为如下,前台alert的时候就是有值的。
public void searchUser(){
//获取检索入力条件
String account = getPara("account");
User u = User.dao.getUserByAccount(account);
Map<String,String> userInfo = new HashMap<String,String>();
userInfo.put("account", u.getStr("account"));
......
renderJson("userInfo",userInfo );
}问题: 直接将检索的到的model对象设置到renderJson中,是否前台就无法解析。还需要其他什么转换么。
项目:JFinal