用ajax post array数组到Mvc web Api后台接受不到的问题

普通string数组

            $.ajax({
                    type: "post",
                    url: "http://localhost:8902/api/PriceRatio/Add",
                    data: {"":["123","123","12"]},
                    dataType: "json",
                    traditional: true,
                    success: function (msg) {
                    }
                });

        [HttpPost]
        public bool Add([FromBody]string[] ids)
        {
            return true;
        }
    








对象数组:

 for (var i = 0; i < 3; i++) {
                    prices.push({
                        Id:"123",
                        UpdateTime: null,
                        Type: "other",
                        Price: 123,
                        Url: "www",
                        Remark: "demo",
                    });
                };
                $.ajax({
                    type: "post",
                    url: "http://localhost:8902/api/PriceRatio/Add",
                    data: { "": prices},
                    dataType: "json",
                    traditional: false,
                    success: function (msg) {
                    }
                });


        [HttpPost]
        public bool AddPriceRatios([FromBody]List<PriceRationModel> priceRations)
        {
            if (ModelState.IsValid)
            {
                return PriceRatioBLL.AddPriceRatios(priceRations) > 0;
            }
            else
            {
                throw new Exception(BadRequest(ModelState).ModelState.Values.FirstOrDefault()?.Errors.FirstOrDefault()?.ErrorMessage);
            }
        }





如果Post是string数组或者int数组,则ajax中traditional: true,

如果Post是对象数组,则ajax中traditional: false,否则对象将为空




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值