jQuery Ajax传递数组到asp.net web api参数为空

前端:

复制代码
         var files = [];
                files.push({ FileName: "1.jgp", Extension: ".jgp", FileType: 2 });
                files.push({ FileName: "2.png", Extension: ".png", FileType: 2 });
                files.push({ FileName: "3.bpm", Extension: ".bpm", FileType: 2 });

                $.ajax({
                    url: "/api/file/uploadservice",
                    type: "post",
                    dataType: "json",
                    data: { "": files },
                    success: function (res) {
                        alert(res);
                    },
                    error: function (xhr ,err) {
                        alert(err);
                    }
                });
复制代码

后台:

复制代码
        /// <summary>
        /// 批量上传文件
        /// </summary>
        /// <param name="files"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("uploadservice")]
        public HttpResponseMessage AppendFiles(List<FileInfo> files)
        {
              //上传文件处理
        }    
复制代码

 

结果,后台中接收到的files为空
原因:jQuery的怪癖
解决:
复制代码
         .ajax({
                    url: "/api/file/uploadservice",
                    type: "post",
                    dataType: "json",
                    data: { "": files },
                    success: function (res) {
                        alert(res);
                    },
                    error: function (xhr ,err) {
                        alert(err);
                    }
                });    
复制代码

 

参考文献:
posted @   GUOKUN  阅读(2263)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示