首页 > Web开发 > 详细

关于在MVC中如何以Ajax的方式从后台将对象(一个或list)传到前台进行解析

时间:2015-12-23 10:40:59      阅读:961      评论:0      收藏:0      [点我收藏+]

后台代码:

namespace BaiduAPIDemo.Controllers
{
public static class ObjectExtentions
{
/// <summary>
/// 为Oject对象增加ToJsonString方法(注意对项目添加Newtonsoft.Json.dll引用)
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJsonString(this Object obj)
{
JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
return JsonConvert.SerializeObject(obj, jsSettings);
}
}

public class HomeController : Controller
{

  public ActionResult TreeView()
  {
    return View();
  }

  public class Node

 {
  public int id;
  public int pp;
  public int pid;

}

public string Testback()
{
Node node = new Node();
node.id = 1;
node.pid = 2;
node.pp = 3;
Node node1 = new Node();
node1.id = 4;
node1.pid = 5;
node1.pp = 6;
List<Node> listnode = new List<Node>();
listnode.Add(node);
listnode.Add(node1);
var s = ObjectExtentions.ToJsonString(listnode);
return s;
}
}
}

前台代码:

<script>
function bt() {
$.ajax({
type: "GET",
url: "/Home/Testback",
data: {},

dataType: "text", //如果dataType是text(或者不指定类型时)转化时需加"(",例如(eval("(" + data + ")")),dataType是json时不加"(",例如 (eval(data))
success: function (data) {
alert(eval("(" + data + ")").pid); //如果传回来的是一个对象
alert(eval("(" + data + ")")[1].pid);//如果传回来的是一个list,可通过下标来解析
}

});
}
</script>
<input type="button" value="click" id="testbtn" onclick="bt()">

关于在MVC中如何以Ajax的方式从后台将对象(一个或list)传到前台进行解析

原文:http://www.cnblogs.com/jinghuimin/p/5069045.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!