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

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

  • 相关阅读:
    Uva 10935 Throwing cards away I
    Uva 3226 Symmetry
    eclipse @ 注释为何一写就报错
    2015省赛小感想
    Zoj 3842 Beauty of Array
    fedora 设置命令别名
    Uva220 Othello
    工作小技巧积累
    SSL介绍与Java实例
    一个完整的SSL连接建立过程
  • 原文地址:https://www.cnblogs.com/zk3113/p/6028198.html
Copyright © 2011-2022 走看看