ajax上传文件

1、HTML以下ajax

<input type="file" style="display:none;" class="apk-file-open">
<button class="choose-file-load">选择文件</button>

2、js以下json

    // 点击按钮
    $(document).on("click", ".choose-file-load", function () {
        var $this = $(this);
        $this.siblings(".apk-file-open").trigger("click");            // 绑定上传附件
    })
    // 显示上传后的附件
        .on("change",".apk-file-open",function(e){
            var formData = new FormData();
            formData.append("app_url", $(this)[0].files[0], $(this)[0].files[0].name);
            $.ajax({
                url: api.upload,      // 接口
                dataType: 'json',
                type: "POST",
                data: formData,
                /**
                 *必须false才会自动加上正确的Content-Type
                 */
                contentType: false,
                /**
                 * 必须false才会避开jQuery对 formdata 的默认处理
                 * XMLHttpRequest会对 formdata 进行正确的处理
                 */
                processData: false,
                success: function (json) {
                    if (json.status == "0") {
                        alert("上传成功!");
                    }else{
                        alert(json.msg);
                    }
                },
                error: function () {
                    alert("上传失败!");
                }
            });
        });    

注意: 在上传时,后台接收不到数据,有多是文件大小超出了设置的大小,须要改PHP配置文件api

相关文章
相关标签/搜索