layui中的upload.render方法中data数据后台获取为“”的原因:

layui中的upload.render方法中data数据后台获取为“”的原因:

错误写法:

   layui.use('upload', function(){
     
            var upload = layui.upload;
            //执行实例
            var uploadInst = upload.render({
     
                elem: '#test1' //绑定元素
                ,url: '/uploadAdPicture/' //上传接口
                ,accept: 'images'
                ,data: {
     adUrl:$('#adUrl').val()}
                ,done: function(res){
     
                    //上传完毕回调
                    alert("上传成功!");
                }
                ,error: function(){
     
                    //请求异常回调
                    alert("上传失败!");
                }
            });
        });

正确的data写法为:

   layui.use('upload', function(){
     
            var upload = layui.upload;
            //执行实例
            var uploadInst = upload.render({
     
                elem: '#test1' //绑定元素
                ,url: '/uploadAdPicture/' //上传接口
                ,accept: 'images'
                ,data: {
     adUrl: function(){
     return $('#adUrl').val()}}
                ,done: function(res){
     
                    //上传完毕回调
                    alert("上传成功!");
                }
                ,error: function(){
     
                    //请求异常回调
                    alert("上传失败!");
                }
            });
        });

原因分析:
data这种方式配置,在render的时候就固定下来了,不存在你render的设置一个变量后面还会同步你这个变量的值的情况,建议好好看看文档,文档里面都有写的,data里面的属性支持设置一个方法返回,比如
data:{category: function(){return $(’#category’).val()}}

你可能感兴趣的:(软件项目开发遇到问题,前端,java,jquery,前端,html,html5)