开发者社区> 问答> 正文

一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?

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呢?

展开
收起
小旋风柴进 2016-05-27 08:37:52 2526 0
1 条回答
写回答
取消 提交回答
  • 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;
    }
    2019-07-17 19:16:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载