1. 传统方式
基本上传控件
2. iframe上传
用户点击submit的时候,动态插入一个iframe
var form = $("#upload-form");
form.on('submit',function() {
// 此处动态插入iframe元素
});
动态插入iframe代码
var seed = Math.floor(Math.random() * 1000);
var id = "uploader-frame-" + seed;
var callback = "uploader-cb-" + seed;
var iframe = $('');
var url = form.attr('action');
form.attr('target', id).append(iframe).attr('action', url + '?iframe=' + callback);
最后一行,它为表单添加target属性。指向动态插入的iframe。这样上传结束后服务器将结果返回iframe窗口。所以当前页面不会跳转。其次,在它的action属性指定的上传网址的后面添加一个参数,使得服务器知道回调函数的名称。这样就能将服务器返回的信息,从iframe窗口传到上层页面。
服务器返回的信息应该如下