问题描述
- 利用ajax的回调函数从后端传递json数据给页面时遇到对象获取为null的情况。
解决方法
前端 jsp:
function isChange(addrid){
$.ajax({
type: "post",
url: "AddrServlet?addrTip=beforeUpdate",
data:{
"addrid": addrid,
},
success:function(msg){
// 一开始的错误写法! eval(msg)
var curAddr = eval("("+msg+")"); // 注意写法
alert(curAddr.postcode);
})
})
我截取的是我做的项目中用到的部分代码,回传的是一个address对象,这里用postcode这个属性作为测试。成功得将address对象获取到。
后端 servlet:
Address address = service.queryForAddr(num, username);
// 使用toJSONStrng将address对象转换成json字符串
String jsonString = JSON.toJSONString(address);
// 将这个json字符串传到jsp页面
out.write(jsonString);