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

  • 相关阅读:
    *pwn*练习1——攻防世界-when_did_you_born
    PWN——uaf漏洞学习
    pwnable.kr之passcode
    pwnable.kr之flag
    pwnable.kr之brainf*ck
    pwnable.kr之simple Login
    pwnable.tw start&orw
    RTF文件格式
    jarvis level6_x64堆溢出unlink拾遗
    jarvisoj level5爬坑
  • 原文地址:https://www.cnblogs.com/jinghuimin/p/5069045.html
Copyright © 2011-2022 走看看