zoukankan      html  css  js  c++  java
  • 关于webapi post 使用多个参数的间接用法

    问题描述:

    Web Api 当使用Post提交的时候 由于只能接受一个参数 ,所以我们基本都会选择把所需要的参数,进行封装实体。

    有的时候所需要的信息在其他两个实体中,还需要重新封装也不爽。

    今天发现使用JObject 作为参数类型,可以避免自己创建实体。

    引用:using Newtonsoft.Json.Linq;命名空间

            public ResponseParam TestSend4(JObject jObject)
            {
                dynamic json = jObject;
                var jo = json.OrderInfo;
                var ju = json.UserInfo;
    
                var order = jo.ToObject<OrderInfo>();
                var user = ju.ToObject<UserInfo>();
                return new ResponseParam() { Code = 200,Msg = ""};
            }
        public class OrderInfo
        {
            public string No { get; set; }
            public decimal Price { get; set; }
            public int BuyCount { get; set; }
        }
    
        public class UserInfo
        {
            public string Account { get; set; }
            public string LoginTime { get; set; }
        }

    前台调用时,需要使用Json格式的数据提交,代码如下:

            var ajaxType = $("#ajaxType").val();
            var ajaxUrl = $("#ajaxUrl").val();
            var ajaxData = $("#ajaxData").val();
            //var jsonObj = $.parseJSON(ajaxData);
    
            var Order = { No: "D20160411", Price: 25.6, BuyCount: 10 };
            var User = {Account:"zhanglijun",LoginTime:"19870709"};
            $.ajax({
                type: ajaxType,
                url: ajaxUrl,
                data: JSON.stringify({ OrderInfo: Order, UserInfo: User }),
                contentType: "application/json",
                success: function (data) {
                    alert(data);
                    $("#ajaxResult").val(JSON.stringify(data))
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("异常了" + textStatus + errorThrown);
                }
    
            });

    大概就这样子,如果有问题,欢迎留言!

  • 相关阅读:
    高效代码审查的十个经验
    记事本
    cocos2d-x游戏引擎核心之十一——并发编程(消息通知中心)
    DE1-SOC开发板使用学习
    反思的话-180929
    反思的话-企业制度的作用180927
    XDS100V3连接Pandaboard ES OMAP4460开发板
    《手把手教你学DSP-基于TMS320F28335》书中的错误
    DSP28335做FFT傅里叶变换
    itop4412学习-上层应用多任务开发
  • 原文地址:https://www.cnblogs.com/searchbaidu/p/5378514.html
Copyright © 2011-2022 走看看