zoukankan      html  css  js  c++  java
  • 前端发起Ajax,MVC中的Action却接收不到参数

    问题直接上图

    前台发起Ajax,注意A的格式

    后台接收方法

    这是我们发现,A对象内的B对象的属性竟然没有拿到值,好奇怪的问题,目前我只想到一种解决方案

     $(function () {
                $("#buttonClick").click(function () {
                    debugger;
                    var A = { B: initData(), C: { Id: 2, Name: 5 } };
                    //注意这里
                    var x = JSON.stringify(A)//这是JavaScript本身函数
                    var c = { str: x }
                    //注意这里
                    $.post("/Home/Index2Ajax", c, function (data) {
                        alert("成功");
                    })
                })
                $("#buttonClick2").click(function () {
                    $.post("/Home/Index2Ajax2", null, function (data) {
                        alert("成功");
                    })
                })
            })
            function initData() {
                InfoDto = { IdS: 1, NameS: 2 };
                return InfoDto
            }
    前端代码
            public ActionResult Index2Ajax(string str)
            {
                var x = Newtonsoft.Json.JsonConvert.DeserializeObject<A>(str);
                return Json(new Object(), JsonRequestBehavior.AllowGet);
            }
    后端代码

    这样更改一下代码就可以了

  • 相关阅读:
    jQuery事件篇---高级事件
    Cookie处理
    JDBC技术
    JSP行为
    JSP九大内置对象
    JSP指令学习
    Oracle数据库学习之存储过程--提高程序执行的效率
    数据库操作之游标
    PL/SQL编程接触
    数据库数据的查询----连接查询
  • 原文地址:https://www.cnblogs.com/zk3113/p/6028198.html
Copyright © 2011-2022 走看看