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("查询失败!"); } });