Jquery Ajax方法传递json到action

  1. ajax向后台传入json需要设置option,如下

      contentType:'application/json'
      data:Json.Stringify(jsObj)
  2. 后台处理复杂json对象(不知道如果不加这个特性能到widgets? 有待验证)

      [JsonFilter(Param = "widgets", JsonDataType = typeof(List< PageDesignWidget> ))]
       public JsonResult SaveOrUpdate(List< PageDesignWidget>  widgets
      {
    
    
      public class JsonFilter : ActionFilterAttribute
      {
          public string Param { get; set; }
          public Type JsonDataType { get; set; }
          public override void OnActionExecuting(ActionExecutingContext filterContext)
          {
              if (filterContext.HttpContext.Request.ContentType.Contains("application/json"))
              {
                  string inputContent;
                  using (var sr = new StreamReader(filterContext.HttpContext.Request.InputStream))
                  {
                      inputContent = sr.ReadToEnd();
                  }
                  var result = JsonConvert.DeserializeObject(inputContent, JsonDataType);
                  filterContext.ActionParameters[Param] = result;
              }
          }
      }
相关链接

Jquery Ajax方法传递json到action
如何post复杂对象的数组, 在JSON , jQuery ASP.Net MVC Controller ?

转载于:https://www.cnblogs.com/dongshuangjie/p/5043788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值