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