• ajax传递对象到MVC控制器


    1、view层中ajax写法:

    function Add2() {
            var model = new Object();
             model.UserName = $('#UserName').val();
             model.Age = 20;
             model.ID = 1;
              //提交
             $.ajax({
                 contentType: "application/json", //必须有,表示提交的数据类型   
                type: "post",
                 url: ' @ViewBag.WebApiUrl/Class/CreateSubmit3/',
                cache: false,  
                 data: JSON.stringify(model),  
               // dataType: "json",
                error: function (jqXHR, textStatus, errorThrown) {
                    if (jqXHR.status == '401') {
                        //alert("登录过期,请重新登录");
                    }
                    else {
                        alert("添加失败");
            
                    }
                },
                 success: function (result) {
                    // alert(result.ErrMsg);
                     //location.href = '@ViewBag.WebApiUrl/home/index';
                },
                beforeSend: function (xhr) {
                    //xhr.setRequestHeader("Authorization", "Bearer " + $.cookie('access_token'));
                }
            });
        }

    2、mvc中控制器的写法。

      public JsonResult CreateSubmit3(MyClass.Models.MyClass model)
            {
                //string aa = UserName;
                return Json(model);
            }

    model的写法:

    namespace MyClass.Models
    {
        public class MyClass
        {
            [Required]
            [Display(Name = "自动编号")]
            public int ID { set; get; }
            [Required]
            [Display(Name = "姓名")]
            public string  UserName { set; get; }
            [Required]
            [Display(Name = "年龄")]
            public int Age  { set; get; }
        }
    }

     总结:

    主要是看http的请求头中的 [contentType],如果ajax里没有指定属性 contentType,则默认为: application/x-www-form-urlencoded;  表示为表单方式。这种的在mvc控制器中就是使用这样的来接值:

       public JsonResult CreateSubmit2(string UserName)
            {
                string aa = UserName;
                return Json("{'a':'1'}");
            }

    如果,contentType指定为:application/json,则表示向服务器发送一个json串,上面那个例子里,就是发送这样的一个json串:

    {"UserName":"99","Age":20,"ID":1}
  • 相关阅读:
    Git ---游离状态下的commit 分支切换与找回,commit之后无法找到历史记录
    mybatis异常invalid comparison: java.util.Date and java.lang.String
    Spring的注解@Qualifier
    Spring @Bean注解的使用
    Java的IO系统
    linkin大话面向对象--GC和jar包
    linkin大话面向对象--闭包和回调
    linkin大话面向对象--内部类
    linkin大话面向对象--枚举
    linkin大话面向对象--接口
  • 原文地址:https://www.cnblogs.com/25miao/p/11345761.html
Copyright © 2020-2023  润新知