为了账号安全,请及时绑定邮箱和手机立即绑定

ajax异步上传文件返回undefined

ajax异步上传文件返回undefined

RISEBY 2018-12-21 19:14:55
ajax跨域上传文件,封装了一个上传文件的方法sendFilePost,上传文件的时候使用async: false同步上传就不会弹出等待框,返回的结果没问题,但是使用了异步的方法async: ture,就返回了undefined,不知道改如何修改,大神帮忙改一下,如何异步不返回undefined接口返回数据//成功{    "status":200,    "info":"导入成功,共导入100条记录 "}//失败{    "status":400,    "info":"第2行,选手名称不能为空"}
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

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){})


查看完整回答
反对 回复 2019-01-25
  • 1 回答
  • 0 关注
  • 613 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信