背景: 想从后台返回一个获取到的对象,通过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