导入excel功能表单ajax异步提交
import.html网页部分
表单部分
<form action="{:U('Product/impCustomer')}" method="post" id="imp" enctype="multipart/form-data" class="form-horizontal">
<div class="box-body" style="width:80%">
<div class="form-group">
<div class="col-sm-8">
<br>
<input type="file" name="import" />
<input type="hidden" name="table" value="tablename" />
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<botton class="btn btn-primary" id="import" >导入</botton>
<a href="__DIST__/excelTpl/产品导入模板.xls">导入模板下载</a>
</div>
<!-- /.box-footer -->
</form>
jquery和ajax部分
<script type="text/javascript">
$(document).ready(function() {
$('#import').click(function() { //按钮单击事件
var formData = new FormData($( "#imp" )[0]); //定义提交的表单
$.ajax({
url: "{:U('Product/impCustomer')}",
type: 'post',
data: formData, //serialize只能序列化一般的参数,上传文件的文件流用FormData
async: false,
cache: false,
contentType: false,
processData: false,
success: function(Data) {
var strJSON = Data;//得到的JSON
var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象 得到JSON对象很重要,关键性的两行代码
if(obj.a==1)
{
layer.alert("导入成功");
window.location.href="{:U('Product/index')}";
};
if(obj.a==0)
{
layer.alert(obj.b); //获取后台传过来的值
}
}
});
});
});
</script>
----------------------------------------------------------------------------------------------------------------------------------------------
ProductController.class.php 控制器部分
if (!$info) {// 上传错误提示错误信息
$Data['a']=0;
$Data['b']=$upload->getError();
echo json_encode($Data); //ajax提交表单后,做出判断反馈,传值给前台import.html
// $this->error($upload->getError());
}else{
$Data['a'] = 1;
echo json_encode($Data);
}