问题:
通过ajax后台回复数据为json格式,返回的数据类型是str,但无法获取json中的数据,提取显示undefined
$.ajax({
type:"post",
url:"{:url('rizhi/index/to_day')}", //数据传输的控制器方法
data:{year01:$('.sc-select-year').text()},//这里data传递过去的是序列化以后的字符串
success:function(data){
// $str = json_decode($data,true);
console.log(typeof(data))
console.log("ccc");
// console.log($data.msg);
console.log(data);
console.log(data.msg);
console.log("bbb");
console.log(data.data.length);
// $("#content").append(data);//获取成功以后输出返回值
for(var i=0;i<data.length;i++){
matterHtml +='<a href="index.html"><li class="announceItem"><div><div class="fl announceImg">'
+'<img class=" " src="/static/rizhi/Picture/content.png"/></div>'
+'<p class="announceContent">'+data[i].title+'</p>'
+'</div></li><a>';
}
$('.matter01').html(matterHtml);
}
});
经过网上查询,需要通过eval再转置,转置后可以正常提取其中数据
var data=eval("("+data+")")