ajaxFileUpload的使用
来源:互联网 发布:mac输入大写字母 编辑:程序博客网 时间:2024/05/16 18:55
最近在做一个微商城的项目涉及到一个图片的上传,起初是用jquery的ajax方法结果它不能解析enctype="multipart/form-data",不能成功将type=file类型的数据传交给后台。后来在$.ajax方法中加了个enctype="multipart/form-data"后但是发现发出的请求地址错误,最终放弃了用jquery ajxa的方法传送,最后选择了ajaxFileUpload的插件,虽然它你能够实现图片的上传,但其也存在着一定的bug,譬如:
①他不能支持多个图片的传输,要想支持必须在插件的源js文件中进行修改
/*
* 修改前
* var oldElement = jQuery('#' + fileElementId);
var newElement = jQuery(oldElement).clone();
jQuery(oldElement).attr('id', fileId);
jQuery(oldElement).before(newElement);
jQuery(oldElement).appendTo(form);*/
//修改后
for(var i in fileElementId){
var oldElement = jQuery('#' + fileElementId[i]);
var newElement = jQuery(oldElement).clone();
jQuery(oldElement).attr('id', fileId);
jQuery(oldElement).before(newElement);
jQuery(oldElement).appendTo(form);
}
②传表单数据只能以data :{comName:comName,comPrize:comPrize,comRepertory:comRepertory,comFreight:comFreight,comType:comType,merNo : merNo}而不能以表单形式传递
③成功提交数据后接收返回数据总是进入error方法,要进入成功方法则改js源文件
//修改前
if ( type == "json" )
eval("data = "+data);//这里没有将data解析成json对象,网上有说改为eval( "data = \"" + data+"\"" );或者
eval("data = eval(" + data + ")");但我改后都未成功,直到最后看到某博客后改为下面的放成功
//修改后
if ( type == "json" ) {
////////////以下为新增代码///////////////
data = r.responseText;
var start = data.indexOf(">");
if(start != -1) {
var end = data.indexOf("<", start + 1);
if(end != -1) {
data = data.substring(start + 1, end);
}
}
///////////以上为新增代码///////////////
eval( "data = " + data);
}
个人的上传多张图片代码
$.ajaxFileUpload({
type:'post',
url:'addWebCommodityAction!addWebCommodity',// 服务器端程序
secureuri:false,
fileElementId:['doc1','doc2','doc3','doc4','doc5'],// input框的ID
data :{comName:comName,comPrize:comPrize,comRepertory:comRepertory,comFreight:comFreight,comType:comType,merNo : merNo},
/* $("#upLoadForm").serialize() */
dataType: 'json',// 返回数据类型
beforeSend:function(){// 上传前需要处理的工作,如显示Loading...
},
success: function (data, status){// 上传成功
if(data.msg == "001"){
// 从data中获取数据,进行处理
alert("添加商品成功!");
$("#upLoadForm")[0].reset();
} else{
alert('添加商品失败!');
}
},
error:function(data,status,e){
alert("超时")
}
});
具体可参考某大神的博客,地址为http://upvup.com/html/JQuery/2014-11-15/8.html
- ajaxfileupload的使用
- ajaxfileupload的使用实例
- ajaxfileupload的使用实例
- ajaxFileUpload的使用
- ajaxfileupload.js的使用
- JQuery的ajaxFileUpload的使用
- ajaxFileUpload插件的使用 ------------------插件
- 关于ajaxfileupload.js的使用
- jquery ajaxfileupload插件的使用
- 使用ajaxfileupload的一点心得
- jQuery上传文件插件AjaxFileUpload的使用
- AjaxFileUpload使用中遇到的问题
- ajaxfileupload.js 可以正常使用的版本
- ajax插件ajaxfileupload使用
- 使用ajaxfileupload实现
- 使用ajaxfileupload插件笔记
- jQuery使用$.ajaxFileUpload上传
- 使用aJaxFileUpload.js
- 定制控件背景颜色与背景位图
- poj 3279 Fliptile
- Storm启动异常[ERROR] Error when processing event,Supervisor启不来
- Spark入门教程
- 风投大师:揭秘创业与融资
- ajaxFileUpload的使用
- 信息可视化与可视化数据挖掘
- hdu 2680 最短路径 多起点一终点问题
- uva 10605 【矿道】状压DP
- 机器学习笔记--回归分析(3)
- GitHub 优秀的 Android 开源项目
- MySQL磁盘空间优化思考
- c语言字符串操作函数
- IE8兼容设置