AI智能
改变未来

Layui upload动态传参,后台接收不到,解决方法


这里参数动态($(#).val())拿去不到,除非写死,必须要用before从新赋值

layui.config({base: \'/Assets/layui/\' //静态资源所在路径}).extend({index: \'lib/index\' //主入口模块}).use([\'index\', \'upload\'], function () {var $ = layui.jquery, upload = layui.upload;var Title;var KeyWork;var Description;var PicImage_Id;//多文件列表示例var demoListView = $(\'#test-upload-demoList\'), uploadListIns = upload.render({elem: \'#test-upload-testList\', url: \'/FileUpload\', data: { PicImage_Id:$(\"#Id\").val(),Title: Title, KeyWork: KeyWork,Description:Description }    //额外传输的参数, 这里参数动态($(#).val())拿去不到,除非写死,必须要用before从新赋值, accept: \'file\', multiple: true, auto: false, bindAction: \'#test-upload-testListAction\', choose: function (obj) {var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列//读取本地文件obj.preview(function (index, file, result) {var tr = $([\'<tr id=\"upload-\' + index + \'\">\', \'<td>\' + file.name + \'</td>\', \'<td>\' + (file.size / 1014).toFixed(1) + \'kb</td>\', \'<td>等待上传</td>\', \'<td>\', \'<button class=\"layui-btn layui-btn-mini test-upload-demo-reload layui-hide\">重传</button>\', \'<button class=\"layui-btn layui-btn-mini layui-btn-danger test-upload-demo-delete\">删除</button>\', \'</td>\', \'</tr>\'].join(\'\'));//单个重传tr.find(\'.test-upload-demo-reload\').on(\'click\', function () {obj.upload(index, file);});//删除tr.find(\'.test-upload-demo-delete\').on(\'click\', function () {delete files[index]; //删除对应的文件tr.remove();uploadListIns.config.elem.next()[0].value = \'\'; //清空 input file 值,以免删除后出现同名文件不可选});demoListView.append(tr);});}, before: function (obj) {this.data.Title = $(\"#Title\").val()this.data.KeyWork = $(\"#KeyWork\").val();this.data.Description = $(\"#Description\").val();}, done: function (res, index, upload) {debugger;if (res.code == 200) { //上传成功var tr = demoListView.find(\'tr#upload-\' + index),tds = tr.children();tds.eq(2).html(\'<span style=\"color: #5FB878;\">上传成功</span>\');tds.eq(3).html(\'\'); //清空操作return delete this.files[index]; //删除文件队列已经上传成功的文件}this.error(index, upload);}, error: function (index, upload) {debugger;var tr = demoListView.find(\'tr#upload-\' + index), tds = tr.children();tds.eq(2).html(\'<span style=\"color: #FF5722;\">上传失败</span>\');tds.eq(3).find(\'.test-upload-demo-reload\').removeClass(\'layui-hide\'); //显示重传}});});

暂时就找到这样解决,如你有更好方法,欢迎留言交流。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Layui upload动态传参,后台接收不到,解决方法