后端与前端之间的数据传输问题
后端传输到前端的JSON数据不是JSON对象,而是JSON格式的字符串,所以要把字符串解析为对象才能遍历。
- 后端传入前端的数据
JSONObject json = (JSONObject)JSONObject.toJSON(userinf);
System.out.println(json.toJSONString());
response.getWriter().write(json.toJSONString());
response.getWriter().flush();
response.getWriter().close();
userinf是一个用户的数据的对象
public class Userinf {
private int userid;
private String account;
private String password;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
- 前端Ajax接收到数据后的处理
$.post("url",{data:data},function(data){
if(data!=""){
var d = JSON.parse(data);
alert(data.id);
}
})
$.post是jQuery的一种异步传输方式,使用post方式传输数据。
url:是后端接收的servlet地址
{data:data}:传输给Servlet的数据,JSON格式的。前面的参数名,后面是参数值
function(data){}:data是成功后返回的数据,这个方法是成功接收数据后启用