javascript - 一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?
PHP中文网
PHP中文网 2017-04-10 15:50:39
[JavaScript讨论组]

A页面

console.log(handleData("search_list", "http://192.168.1.11/Sueach/index", data));//undefind
//            if(handleData("search_list", "http://192.168.1.11/Sueach/index", data)=="none"){
//                document.querySelector(".search-error").style.display="block";
//            }

js页面

请输入代码function handleData(warp, url, par) {
    par.mobile = mobile;
    mui.ajax(url, {
        data: par,
        dataType: 'json',
        type: 'get',
        timeout: 10000,
        success: function(data) {
            console.log(data.status);//为0
            if (data.status == 0) {
                console.log(""执行了);//执行到这
                return "none";
            }
            handleJson(data.data, warp, par.p);

        },
        error: function(xhr, type, errorThrown) {
            console.log(type);
        }
    });
}

为什么console.log输出的为undefined呢?

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
黄舟

handleData 没有返回值默认值是undefined 我一般这样写

function handleData(warp, url, par) {
    var result="";
    par.mobile = mobile;
    mui.ajax(url, {
        data: par,
        dataType: 'json',
        type: 'get',
        async:false,//
        timeout: 10000,
        success: function(data) {
            console.log(data.status);//为0
            if (data.status == 0) {
                console.log(""执行了);//执行到这
                result= "none";
                return;//这里会退出success函数
            }else{//这样在status!=0时才执行,
                handleJson(data.data, warp, par.p);
            }
            

        },
        error: function(xhr, type, errorThrown) {
            console.log(type);
        }
    });
    
    return result;
}
黄舟

1)mui.ajax是个异步调用方法啊,handleData方法返回时候, mui.ajax还没执行完呢
2)handleData方法没有返回值,就返回默认的undefined

PHPz

楼上两位都是正解,你要用返回值需要用ajax同步模式,即二楼的代码中 async:false,默认为true是异步,设为false为同步

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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