最近在拿layim 写一个即时聊天软件,大部分都没有问题,准备写上传图片的时候,一点击上传就报错,报错的内容就是upload is not a function 。百度了一下,发现还有别人还遇到过upload.render is not a function 的问题
经过查看手册,发现主要的问题就是版本的问题,解决方法可以参考如下:
如果你的image 上传是这种模式:
upload = layui.upload;
upload({
url: l.url || "",
method: l.type,
elem: i.find("input")[0],
unwrap: !0,
type: a,
success: function(i) {
console.log(i.code);
0 == i.code ? (i.data = i.data || {},
"images" === a ? ii(n.textarea[0], "img[" + (i.data.src || "") + "]") : "file" === a && ii(n.textarea[0], "file(" + (i.data.src || "") + ")[" + (i.data.name || "下载文件") + "]"), D()) : t.msg(i.msg || "上传失败")
}
})
})
你需要3个地方,1.var upload = layui.upload; 增加定义 2.upload.render({ 增加一个render 3.把success 改为done。即可
这个方法主要是面对 layui 版本在1.0.*版本的,但是update.js是2.0.*版本
如果你的layui 是2.0.*版本,则需要查update.js的版本,如果是1.0.*版本的,就需要查1.0版本的手册,然后改为对应的格式。
--------------------------------------
另外的一个可能的问题就是,加载的layui.js文件,最好是加载layui.all.js.如果使用layui.js,也很容易提示缺少模块