图片上传,采用ajax方法提交form

阅读更多
采用ajax上传文件,需要用到 jquery.form.js对form进行ajaxSubmit({})。
可能版本问题,发现上传成功后回传函数success不回调,改成complete才好使。
$page.find("form[name='fileForm']").ajaxSubmit({
			url:"../../system/file/tmp/upload",		
			complete:function(data, status, xhr){
				if(data.statusText=="OK"){				
					$page.find("input[name='headIcon']").val(data.responseText);
					refreshImg();
				}
			}
		});


    各浏览器file控件兼容性不是很好,其中获取选择后的本地全路径不同游览器方法不一致,很有问题。网上找了一系列js,针对不同浏览器进行适配,花了很长时间也没有很好解决,原因是各浏览器版本太多不好做的全部都匹配。
解决办法:
如果想选择图片后,直接在网页上显示,干脆采用先上传,再将url回去由img显示。虽然经过网络跑了一圈,但当前网络都很快,图片一般不会很大,这么做大大节约可开发时间。毕竟上传图片早晚都要做的。
    另外,浏览器的file控件比较难看,一般选择隐藏它,自己用其他控件来触发其click事件。用jq的trigger('click')很方便解决问题

你可能感兴趣的:(ajax,form,upload)