Ajaxl里之间使用后台传入的json数据会有问题,后端传入的是json字符串,需要通过eval()函数将后台传入的数据转换成json对象。
$("#detail").click(function () {
var userName = $("#username").val();
// console.log(userName) ;
var url = "login.do" ;
var param = {"userName":userName};
$.post(url, param, function(result){
// 把字符串
var json = eval("("+result+")") ;
console.log(json);
if(json.code == 1) {
console.log(json.data) ;
}else {
alert("查询失败!");
}
});
});
还可以指定dataType的值为“json”
$("#detail").click(function () {
var userName = $("#username").val();
// console.log(userName) ;
$.ajax({
type:"get",
url:"login.do",
data:{"userName":userName},
success:function (json) {
if(json.code == 1) {
console.log(json.data) ;
}else {
alert("查询失败!");
}
},
dataType:"json"
});
还可以用$.getJSON()方法
$.getJSON(url, param, function(json){
if(json.code == 1) {
//console.log(json.data) ;
var div = $("#show").empty() ;
var temp = "<p>" +json.data.id + "</p>" +
"<p>" +json.data.username + "</p>" +
"<p>" +json.data.phone + "</p>" +
"<p>" +json.data.email + "</p>";
div.append(temp);
}else {
alert("查询失败!");
}
});