ajax异步上传文件返回undefined

ajax跨域上传文件,封装了一个上传文件的方法sendFilePost,上传文件的时候使用async: false同步上传就不会弹出等待框,返回的结果没问题,但是使用了异步的方法async: ture,就返回了undefined,不知道改如何修改,大神帮忙改一下,如何异步不返回undefined

接口返回数据

//成功

{

    "status":200,

    "info":"导入成功,共导入100条记录 "

}

//失败

{

    "status":400,

    "info":"第2行,选手名称不能为空"

}

https://img1.mukewang.com/5c4aa5f9000139f406250656.jpg

RISEBY
浏览 614回答 1
1回答

隔江千里

ajax是异步的你不能直接获取result的值第一种用回调函数获取function sendFilePost(url, data,successCb,failCb) {    $.ajax({        type: "POST",        url: basePath + url,        data: data,        //async: false,        cache: false,        contentType: false,        processData: false,    }).done(function (res) {        successCb(res)        }).fail(function (res) {        failCb(res)    });}//调用sendFilePost(url,data,function(res){},function(res){})第二种直接把ajax返回出去function sendFilePost(url, data) {    return $.ajax({        type: "POST",        url: basePath + url,        data: data,        //async: false,        cache: false,        contentType: false,        processData: false,    })}//调用sendFilePost(url,data).done(function(res){}).fail(function(res){})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript