ajaxfileupload实现文件异步上传

首先需要下载js文件,提供一个CSDN的下载地址

http://download.csdn.net/detail/aa5000ac/5945203

其依赖于jquery,需要自行下载jquery.js文件

页面布局:

<html lang="zh-CN">
<head>
    <script src="/assets/js/vendor/jquery.js"></script>
    <script src="/assets/js/vendor/ajaxfileupload.js"></script>
</head>
<body>
    <form id="form2" action="/system/upload" enctype="multipart/form-data" method="post">
        <input type="file" id="file" name="file">
    </form>
</body>
</html>

JS代码如下:

<script>
    function ajaxFileUpload() {
        $.ajaxFileUpload({
            url:'/system/upload',
            secureuri:false,
            fileElementId:'file', //注意1
            dataType: 'JSON',//注意2
            success: function (data, status) {
                alert(data)
            },
            error: function (data, status, e) {
            }
        });
    }

    $(function(){
        $("#file").on('change',function(){
            ajaxFileUpload();
        });
    })
</script>
其中需要注意的两点:

注意1 :file指向文件上传的input 即

<input type="file" id="file" name="file">
其中name为必须,否则会出现后台接收不到文件的情况

注意2:dataType的值必须为大写,否则在chrome下回出现handlerError的异常,但是小写的"text"的例外。


在chrome下,ajax返回的JSON数据会出现多余的 “<pre style="word-wrap: break-word; white-space: pre-wrap;">” 现象,下面给出一个简易的处理方式

success: function (data, status) {
                var index1 = data.indexOf("{");
                var index2 = data.lastIndexOf("}");
                data = data.substring(inde1,inde2+1);
            },




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值