javascript - 有没有大神帮忙看看这段关于文件上传的代码
怪我咯
怪我咯 2017-04-11 10:58:55
[JavaScript讨论组]
export var file_upload = (file, path, success,error) => {
    var domain = NORMANDY_WEBCAM_MS_DOMAIN;
    var form = new FormData();
    //form.append("source", "park");
    form.append("file", file);

    var xhr = new XMLHttpRequest();
    xhr.upload.addEventListener("progress", (data) => {
        // 上传进度
    });
    xhr.addEventListener("load", (data) => {

    });
    xhr.addEventListener("error", (data) => {
        // 上传失败
    });
    xhr.addEventListener("abort", (data) => {
        // 中断上传
    });
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4) {
            if(xhr.status==413){
                alert("上传资源文件太大,服务器无法保存!");
            }else if(xhr.status==422) {
                alert("参数错误,可能文件格式错误!");
            }else if(xhr.status==400){
                alert('文件格式错误!');
                error && error();
            }else if(xhr.status <200 || xhr.status >400){
                success && success();
                console.log('111')
            }else if(xhr.status ==500){
                error && error();
            }
            else{
                // 上传成功
                //var source_url = JSON.parse(xhr.responseText).source_url;
                //success && success();
            }
        }
    }
    xhr.open("POST", `${domain}${path}`);
    xhr.send(form);
}

我是这样调用的

file_upload(this.file_obj,'/blackwhitelist/importwhite', ()=> {
                console.log('成功导入文件!');
                this.getAllMembers();
            }, ()=>{
                console.log('文件格式错误')
            });

但是请求500报错的时候控制台显示'成功导入文件';
我这段代码哪里错了呀

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
怪我咯

因为:

//走到这一步的时候,就因为status > 400而执行success方法了
//压根儿不会走你下面那行xhr.status ==500
}else if(xhr.status <200 || xhr.status >400){
    success && success();
    console.log('111')
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号