首页 新闻 搜索 专区 学院

jquery.ajax() 从后台获取的数据是json格式的怎么转?

0
悬赏园豆:5 [已解决问题] 解决于 2014-07-23 12:36

 从后台获取的数据呈现在页面上是这样的:
点击按钮事件之后:

$("按钮").click(function(){

  $.ajax({

    url:'@Url.Action("Index")',

    async:false

  });

  $("#msg").text(msg);

});

 

[{"LogID":250,"LogTypeID":0,"LogTitle":"娱乐","LogContent":"娱乐","LogDate":"2014/7/21 0:00:00","LogTypeName":"娱乐"},{"LogID":251,"LogTypeID":0,"LogTitle":"封面人物","LogContent":"时尚","LogDate":"2014/7/20 0:00:00","LogTypeName":"情感杂志"}, {"LogID":253,"LogTypeID":0,"LogTitle":"1","LogContent":"1","LogDate":"2111/1/1 0:00:00","LogTypeName":"娱乐"}]

 

但是我想要这样的效果怎么办?

<按钮>

编号类型标题内容时间
250 0 娱乐 娱乐 2014/7/21 0:00:00
251 0 封面人物 时尚 2014/7/20 0:00:00
253 0 1 1 2111/1/1 0:00:00

<div id="msg"><div/>

骑着蜗牛耍流氓的主页 骑着蜗牛耍流氓 | 初学一级 | 园豆:135
提问于:2014-07-23 10:45
< >
分享
最佳答案
0

var result = JSON.parse(msg);

for (var i = 0 ; i < result.length ; i++) {

  alert(result[i].LogID + " " + result[i].LogTitle)

}

或者$.ajax的参数有一个属性是dataType,指定为json之后,回调函数的参数就是一个JSON.parse之后的对象

收获园豆:5
琴剑飘零 | 菜鸟二级 |园豆:409 | 2014-07-23 11:22

哦,好的,  谢谢了

是不是ajax方法设置dataType为json之后

数据就不用转啦?

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 11:33

@骑着蜗牛耍流氓: 对,设置dataType:"json"之后,就直接可以用了,比如:

$.ajax({

......

"dataType" : "json",

"success" : function(result){

  for (var i = 0 ; i < result.length ; i++){alert(result[i].LogID);}

}

})

琴剑飘零 | 园豆:409 (菜鸟二级) | 2014-07-23 12:14

@琴剑飘零: 嗯,知道了谢啦

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 12:16

@琴剑飘零: 顺便问下:data:{xxx:xxx}里面参数怎么写呢,就按照刚才的例子怎么写?

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 13:02

@骑着蜗牛耍流氓: 你是说提交请求参数吗?

$.ajax({

......

"dataType" : "json",

"data" : {"username":"zhangsan", "password":"123456", "type":1},

"success" : function(result){

  for (var i = 0 ; i < result.length ; i++){alert(result[i].LogID);}

}

})

是这个意思吗

琴剑飘零 | 园豆:409 (菜鸟二级) | 2014-07-23 13:41

@骑着蜗牛耍流氓: 当然key上的引号可以不加,也就是说,{username:"zhangsan"}也可以

琴剑飘零 | 园豆:409 (菜鸟二级) | 2014-07-23 13:44

@琴剑飘零: 哦,Key 是可以自己乱起的吗?比如我提交{aa:"admin"},是不是后台接收到的格式就是aa:"admin"

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 13:53

@琴剑飘零: 还是说data里面的key要和后台数据库的字段对应呢?

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 13:55

@骑着蜗牛耍流氓: 这个key是可以随便起,{aa:"admin"}就相当于提交http://xx.com?aa=admin,

不知道你服务端用的什么语言,java的话通过getParameter("aa")获取admin,php是通过$_GET['aa']或者$_POST['aa']来获取,要不要和数据表字段对应,这个没有要求,要看后台程序是怎么设计的了

琴剑飘零 | 园豆:409 (菜鸟二级) | 2014-07-23 14:02

@琴剑飘零: 噢,我用的是.NET 应该是Request["aa"]吧

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 14:13

@骑着蜗牛耍流氓: 看着函数样子像,我对.net不熟,记不清了~

琴剑飘零 | 园豆:409 (菜鸟二级) | 2014-07-23 14:14

@琴剑飘零: 哦,好的谢了

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 14:23

@骑着蜗牛耍流氓: 楼主!你的json数据传送,前端是不是用ajax传,服务器是java,用getInputStream()接受。可不可以把你的代码(包括用到的包)整理发一份我哈!谢谢!!!PS:邮箱:William_JM@163.com

William_JM | 园豆:200 (初学一级) | 2015-09-16 15:47
其他回答(3)
0
秋壶冰月 | 园豆:5459 (大侠五级) | 2014-07-23 10:56

感谢你给的资料!

支持(0) 反对(0) 骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 11:34
0

function PageClick() {
$.ajax({
url: 'UserWorkStationList.aspx',
type: "GET",
data: {
OpType: "GetUserWorkStationList"
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
},
success: function (response) {
var htmlContent = "";
$(response.ResultValue).each(function (i) {}

   htmlContent += "<td>" + this.属性+ "</td>";

});
}

 

是不是这么个意思

jerry-Tom | 园豆:4077 (老鸟四级) | 2014-07-23 10:58

不行啊,这样写了以后  数据都没了,什么都没出来

$("#btn").click(function () {
        var htmlobj = $.ajax({
            url: '@Url.Action("GetList", "Test")',
            async: false,
            success: function (response) {
                var htmlContent = "";
                $(response.ResultValue).each(function (i) {
                    htmlContent += "<td>" + this.LogID + "</td>";
                    htmlContent += "<td>" + this.LogTypeID + "</td>";
                    htmlContent += "<td>" + this.LogTitle + "</td>";
                    htmlContent += "<td>" + this.LogContent + "</td>";
                    htmlContent += "<td>" + this.LogDate + "</td>";
                });
                $("#table_content").append(htmlContent);
            }
        });
    });

支持(0) 反对(0) 骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 11:17
0

不用转,直接设置dataType为Json,或者你后台返回的就是Json格式的,直接用就行了。

晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-07-23 11:57

  我后台返回的就是json的,但是我前端取得数据了  把它填充在DIV里面,出来的是json格式的字符串

支持(0) 反对(0) 骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 11:59

@骑着蜗牛耍流氓: 你怎么填充的?

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-07-23 12:00

@晓菜鸟: 

后台 是MVC Action方法:

public ActionResult(){

  var obj=db.Test.ToList();

  return Json(obj);

}

然后前台本来是这样写的:

$("按钮").click(function(){

  var htmlobj=$.ajax({

    url:'@Url.Action("Test")',

    async:false

  });

  $("div").text(htmlobj);

});

支持(0) 反对(0) 骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-07-23 12:03

@骑着蜗牛耍流氓: 循环读取你的list集合.

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-07-25 11:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册