ajax返回一个json数据,前端js解析问题

雾草一波 2014-04-30 01:49:42
{totalCount:2,success:true,error:"",singleInfo:"",data:[{"ID":"2","UserName":"123","Name":"111","ViewCount":"0","Images":"Upload/201404/25/20140425135607135672.jpg","Age":"7"},{"ID":"3","UserName":"12112","Name":"111","ViewCount":"1","Images":"Upload/201404/25/20140425135607985594.jpg","Age":"8"}]}


返回数据如上,可以获取到返回数据,js肿么解析出data里的数据,循环添加到
<ul id="all"><li></li><ul>
ul里,

<script>
function Search() {
$.ajax({
type: "POST",
url: "Search.aspx?sname=111",
dataType: "html",
//data: "sname=111",
success: function (msg) {
var jsonText = JSON.stringify(msg);
alert(jsonText);
},
error: function () {
alert("error");
}
});
}
</script>


第一次用json不熟悉,求教各位
...全文
20597 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
雾草一波 2014-04-30
  • 打赏
  • 举报
回复
引用 6 楼 showbo 的回复:
dataType: "html", 这样msg就是string类型的,要eval转为json对象,你返回的字符串不是标准json格式的字符,不能指定dataType为JSON,要不success都不执行
function Search() {
    $.ajax({
        type: "POST",
        url: "Search.aspx?sname=111",
        dataType: "html",
        //data: "sname=111",
        success: function (msg) {
            //var jsonText = JSON.stringify(msg);
            //alert(jsonText);
            msg = eval('(' + msg + ')'); //转为json对象
            var data = msg.data;
            for (var i = 0, j = data.length; i < j; i++)
                $('#all').append('<li>' + data[i].ID + '|' + data[i].UserName + /*..其他内容...*/'</li>');
        },
        error: function () {
            alert("error");
        }
    });
}
受教了,稍后结贴
Go 旅城通票 2014-04-30
  • 打赏
  • 举报
回复
dataType: "html", 这样msg就是string类型的,要eval转为json对象,你返回的字符串不是标准json格式的字符,不能指定dataType为JSON,要不success都不执行
function Search() {
    $.ajax({
        type: "POST",
        url: "Search.aspx?sname=111",
        dataType: "html",
        //data: "sname=111",
        success: function (msg) {
            //var jsonText = JSON.stringify(msg);
            //alert(jsonText);
            msg = eval('(' + msg + ')'); //转为json对象
            var data = msg.data;
            for (var i = 0, j = data.length; i < j; i++)
                $('#all').append('<li>' + data[i].ID + '|' + data[i].UserName + /*..其他内容...*/'</li>');
        },
        error: function () {
            alert("error");
        }
    });
}
雾草一波 2014-04-30
  • 打赏
  • 举报
回复
引用 3 楼 bichir 的回复:
jsonTest.data;改在jsonText.data
var data = jsonText.data; alert(data ); 是undefined
雾草一波 2014-04-30
  • 打赏
  • 举报
回复
引用 3 楼 bichir 的回复:
jsonTest.data;改在jsonText.data
Uncaught TypeError: Cannot read property 'length' of undefined for里面的data.length
bichir 2014-04-30
  • 打赏
  • 举报
回复
jsonTest.data;改在jsonText.data
雾草一波 2014-04-30
  • 打赏
  • 举报
回复
引用 1 楼 bichir 的回复:
var jsonText = JSON.stringify(msg); var data = jsonTest.data; for(var i=0;i<data.length;i++) { var id= data[i].ID; var UserName = data[i].UserName; //按上面的格式就能获取这些变数据了,然后用JQ写入li var li = $("<li>"+UserName+"</li>"); $("#all").append(li); }
Uncaught ReferenceError: jsonTest is not defined 这里要肿么整,还需引用什么
bichir 2014-04-30
  • 打赏
  • 举报
回复
var jsonText = JSON.stringify(msg); var data = jsonTest.data; for(var i=0;i<data.length;i++) { var id= data[i].ID; var UserName = data[i].UserName; //按上面的格式就能获取这些变数据了,然后用JQ写入li var li = $("<li>"+UserName+"</li>"); $("#all").append(li); }

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧