1 2 3 4

导入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> &nbsp;&nbsp;
<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);

}

 

 

posted @ 2016-07-04 12:01  一缕清风丶  阅读(32)  评论(0编辑  收藏  举报