控制器post参数接收

一.post对象

1.后台c#

public class TestController : ApiController
{
        [HttpPost]
        public string SaveData1(Tb_a ota)
        {
            return ota.aa.ID + ota.bb.FirstOrDefault().NAME;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="ota"></param>
        /// <returns></returns>
        [HttpPost]
        public bool SaveData(Tb_a ota)
        {
            return true;
        }
}
 public class Tb_a
    {
        public TB_CHARGING aa { get; set; }
        public List<TB_CHARGING> bb { get; set; }
    }

 2.前端js

var postData = { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" };
 var postData1 = [{ ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" }, { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" }];
        
$.ajax({
                type: "post",
                url: ApiUrl + "api/Test/SaveData",
                data: { aa: { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" }, bb: [{ ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" }, { ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" }] },
                success: function (data, status) { }
            });


            $.ajax({
                type: "post",
                url: ApiUrl + "api/Test/SaveData1",
                data: { aa: postData, bb: postData1 },

                success: function (data, status) {
                    alert(data);
                }
            });

  二。PostLIst

1.c#

public partial class tbl_OfficeSupplies_OrderDetailController : ApiController
    {
        
        /// <summary>
        /// 新增详情
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        [HttpPost]
        public HttpResponseMessage PostData1123(List<tbl_OfficeSupplies_OrderDetail> list)
        {
            if (list != null)
            {
                if (list.Count > 0)
                {
                    foreach (tbl_OfficeSupplies_OrderDetail item in list)
                    {
                        tbl_OfficeSupplies_OrderDetail model = new tbl_OfficeSupplies_OrderDetail()
                        {
                            ID=Guid.NewGuid(),                    
                            GoodsID=item.GoodsID,
                            ProcurementApplyCount=item.ProcurementApplyCount,
                            OrderID=item.OrderID,
                            ProcurementPricePer=item.ProcurementPricePer,
                            CreateDate=DateTime.Now,
                            Creator=item.Creator,
                            GoodsSpecificationID=item.GoodsSpecificationID
                        };                     
                        Tbl_OfficeSupplies_OrderDetailBLL.AddEntity(model);
                    }
                    return Common.JsonHelper.toJson("ok");
                }
                return Common.JsonHelper.toJson("fail");
            }
            return Common.JsonHelper.toJson("fail");

        }
    }

  2.js

var goodsList = [];
                $.each(rows, function (index,item) {
                    var goods = {};
                    goods.GoodsID = item.GoodsID;
                    goods.ProcurementApplyCount = item.ProcurementApplyCount;
                    goods.ProcurementPricePer = item.ProcurementPricePer;
                    goods.Creator = app.userInfo.UserID;
                    goods.GoodsSpecificationID = item.GoodsSpecificationID;
                    goodsList.push(goods);
                })
                $.ajax({
                    url: app.webApi + 'tbl_OfficeSupplies_OrderDetail/PostData1123',
                    type: "post",
                    contentType: "application/json; charset=utf-8",
                    data: JSON.stringify(goodsList),
                    success: function (data) {
                        if (JSON.parse(data).result == "ok") {
                            $.messager.alert('提示', '保存成功!', 'info');
                            $('#OfficeSuppliesProcurement').datagrid('reload');
                        } else {
                            alert(JSON.parse(data).result);
                        }
                    }
                });

 三:delete对象

后端:

// DELETE: odata/tbl_OfficeSupplies_GoodsSpecification(5)
/// <summary>
/// 删除tbl_OfficeSupplies_GoodsSpecification
/// </summary>
/// <param name="tbl_Base_Role"></param>
/// <returns></returns>
[HttpDelete]
public HttpResponseMessage Delete(tbl_OfficeSupplies_GoodsSpecification tbl_OfficeSupplies_GoodsSpecification)
{
if (Tbl_OfficeSupplies_GoodsSpecificationBLL.DeleteEntity(tbl_OfficeSupplies_GoodsSpecification))
{
return Common.JsonHelper.toJson(new { msg = "ok" });
}
else
{
return Common.JsonHelper.toJson(new { msg = "fail" });
}
}

前端:

var tbl_OfficeSupplies_Goods = {};
tbl_OfficeSupplies_Goods.ID = row.ID;
$.messager.confirm('提示', '确定删除吗?', function (r) {
if (r) {
$.ajax({
url: app.webApi + 'tbl_OfficeSupplies_GoodsSpecification/Delete',
type: 'DELETE',
data: tbl_OfficeSupplies_Goods,
success: function (data) {
$.messager.alert('提示', '删除成功!', 'info');
dg_GoodsSpecification.render();
},
error: function (XMLResponse) {
alert(XMLResponse.responseText);
}
});
}
});

转载于:https://www.cnblogs.com/liuqiyun/p/8523844.html

在传统的 MVC (Model-Controller) 框架中,控制器通常负责处理来自视图的用户输入并调用模型来进行业务逻辑处理。接收参数通常是通过HTTP请求(如GET、POST)来完成的。以下是几种常见的方法: 1. **基于URL查询参数** (GET请求): 如果参数较小并且不会影响URL长度,可以在URL后面添加问号`?`,后面跟着键值对,例如: ```shell /api/controllers/action?key1=value1&key2=value2 ``` 在控制器的相应方法中,你可以使用框架提供的工具获取这些参数,如在Spring MVC中,`@RequestParam`注解可以帮助你。 2. **基于HTTP Body** (POST请求): 对于更大的参数或需要保密的数据,通常放在请求体(RequestBody)。使用POST请求时,可以通过`HttpServletRequest`或`$_POST`等全局变量或特定库(如Node.js中的`req.body`)来访问。 3. **JSON或XML格式**: 使用POST或PUT请求时,将参数序列化为JSON(JavaScript Object Notation)或XML数据结构,然后解析成对象。在PHP中,可以用`json_decode($_POST['data'])`解析JSON;在Node.js的Express中,可以使用`req.body`。 4. **Multipart Form Data** (文件上传): 当涉及文件上传时,表单数据会被编码为multipart/form-data格式,这时可以通过`request.files`来接收文件字段。 5. **RESTful API**: RESTful API 通常使用HTTP方法(如GET、POST、PUT、DELETE)及其相应的URI路径来表示资源和操作。参数可能直接作为路径部分(如`/users/:id`中的`:id`),或者作为查询字符串的一部分。 每个框架或语言可能会有特定的API或库来处理这些参数,务必查看相关文档了解详细用法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值