zoukankan      html  css  js  c++  java
  • 关于在MVC中如何以Ajax的方式从后台将对象(一个或list)传到前台进行解析

    后台代码:

    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()">

  • 相关阅读:
    SOCKET缓存
    异步任务调度
    缓存字典
    TBytes缓存多包数据
    通用压缩单元
    hazelcast-jet docker 运行试用
    hazelcast-jet 开源分布式流以及批处理框架
    Easy Python Decompiler 一个很不错的python pyc 反编译工具
    HAProxy Process Management
    pgx zombodb 团队开源的基于rust 开发pg扩展
  • 原文地址:https://www.cnblogs.com/jinghuimin/p/5069045.html
Copyright © 2011-2022 走看看