前端发起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);
        }
后端代码

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

 

转载于:https://www.cnblogs.com/zk3113/p/6028198.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值