ajax跨域无法设置同步,没办法把success的数据传递出来

问题遇到的现象和发生背景

我想把多个翻译的数据弄成数组

问题相关代码,请勿粘贴截图
<script type="text/javascript">
    function fanyi(query) {
//这个需要保密
        var appid = 'xxxx';
        var key = 'lxxxxd';
        var salt = (new Date).getTime();
        var query = query;
        // 多个query可以用\n连接  如 query='apple\norange\nbanana\npear'
        var from = 'en';
        var to = 'zh';
        var str1 = appid + query + salt + key;
        var sign = MD5(str1);
        var mydata
        $.ajax({
            url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
            type: 'get',
            dataType: 'jsonp',
            async: false, //跨域同步没有用
            data: {
                q: query,
                appid: appid,
                salt: salt,
                from: from,
                to: to,
                sign: sign
            },
            success: function(res) {
                console.log(res);
                mydata = res
                    // 这个data传不出去,没有返回值
            }
        })
        return mydata
    }
    // 后端参数
    var d = '{{ data | safe}}';
    // console.log(JSON.parse(d));
    data = JSON.parse(d)
    if (data.status == 200) {
        var text_list = data.text_list
            // 就是传递了一个apple的单词翻译,我想得到返回值,这里拿不到
        var aa = fanyi(text_list[0]);
        console.log(aa);


    }
</script>

运行结果及报错内容

img

img

我的解答思路和尝试过的方法

如果是同步的也可以通过全局变量拿出来,查了一些资料都是说不能够同步

我想要达到的结果

得到返回值就可以了

通过回调的形式来获取数据

<script type="text/javascript">
    function fanyi(query,callback) {//新增回调参数
//这个需要保密
        var appid = 'xxxx';
        var key = 'lxxxxd';
        var salt = (new Date).getTime();
        var query = query;
        // 多个query可以用\n连接  如 query='apple\norange\nbanana\npear'
        var from = 'en';
        var to = 'zh';
        var str1 = appid + query + salt + key;
        var sign = MD5(str1);
        var mydata
        $.ajax({
            url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
            type: 'get',
            dataType: 'jsonp',
            async: false, //跨域同步没有用
            data: {
                q: query,
                appid: appid,
                salt: salt,
                from: from,
                to: to,
                sign: sign
            },
            success: function(res) {
                console.log(res);
                mydata = res
                callback(mydata)/////////执行回调函数传递数据
            }
        })
        return mydata
    }
    // 后端参数
    var d = '{{ data | safe}}';
    // console.log(JSON.parse(d));
    data = JSON.parse(d)
    if (data.status == 200) {
        var text_list = data.text_list
        // 就是传递了一个apple的单词翻译,我想得到返回值,这里拿不到
        fanyi(text_list[0], function (aa) {
            console.log(aa);///////////////
            //后续的操作放这里
        });


    }
</script>