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);
                    }
                });    

 

參考文獻:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM