问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jquery 使用return返回空值

发布网友 发布时间:2022-05-10 13:32

我来回答

3个回答

热心网友 时间:2022-04-22 12:12

GetData没有返回值,你写的那个匿名函数是参数,return Data 是匿名函数的return,并不是GetData的return,你基础太差,我不太好回答。还有 undefined 并不是 null 它可以理解为无法表述的值,逻辑上也有问题,你没获取到值怎么可以直接用 alert 弹出来。正文来了。要实现你的想法需要一个回调函数。

function callBack(DATA){
    var D = DATA;//保存到一个值里面0.0 !!
    alert( D );//正确写法
    return D;//这只是为了更好的说明下面的错误
}
function GetData(G_Name,G_Type){
    $.post( "./database/deom.php", { Name:G_Name,Type:G_Type }, function(Data){
        callBack(Data);
    })
}
alert( callBack() );//错误!,post请求是异步操作会导致上下文问题。

是不是有一种脱裤子放屁的感觉0.0。有兴趣去了解 ECMAScript 6,那里有优雅的解法。

热心网友 时间:2022-04-22 13:30

默认的$.post, $.get 是异步请求,也就是说,不会等你请求结果,就return了,所以是空值。。

解决方法,用$.ajax

function getData() {
    var d;
    $.ajax({
        type:"POST",
        async:false, // 不使用异步请求
        url:"",
        data:{},
        success: function(data){
            d = data
        }        
    }
    return d;
});

或者直接设置

$.ajaxSetup({ async : false });

再$.post 

热心网友 时间:2022-04-22 15:04

function getData(s_name,g_type){
var d = $.Deferred();
$.post(*.database.....),{
.....
.... //此处省略你那些代码, 是的 我就是这么懒。 下面直接callback
function(Data) {
d.resolve(Data);
}

return d;

}

getData().done(function(Data){
alert(Data);
});
为什么会alert出undefined, 你跟断点就会发现 是先走的return再走的ajax的callback.
你可以查查jquery api的 延迟对象
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怀孕错过了糖筛怎么办 糖筛有哪些注意事项 怀孕几个月查唐筛 蔡家沟镇慈云寺 哈佳高铁高楞站多少平方米位置在那 超威电池生产日期怎么看 超威电池寿命一般多长时间 华晨宇鸟巢四面台10w+秒罄!!火星演唱会舞台概念图震撼发布! 手机连接160wifi电脑蓝屏使用160WiFi遇到问题应该如何解决 为什么手机wifi总是刚开启,锁屏就掉了。wifi设置里的休眠模式也是永久的... 建行卡为什么不能网上转账 学校发我们的建设银行卡一定要激活吗? 我打电话查余额说输入取钱密码... Excel 中如何实现一个区域为空值时,返回空值,使用IF如何做,谢谢! QQ游戏为什么显示g_pItemEngine返回空值? Excel使用公式为什么没有返回空值。 公式单元格无数据返回空值? QQ游戏为什么老显示g_pItemEngine 返回空值? java中怎么返回空值 怎么让excel返回空值而不是0 excel中,如何让IF语句不满足条件返回空值 怎么用电脑注册 在电脑上可以申请吗 如何在电脑上申请? 秘制酱牛肉是怎样做呢? 股票软件开发公司网站有哪些? 配资平台系统开发背景及应用? 股票策略平台怎么开发 如何成为“坚不可摧、油盐不进”的人? 是因为哪些原因,让孩子越长大就越是油盐不进? php 接收GET参数进行查询 什么原因造成学生油盐不进 注册一个新的怎么注册 excel 若数据为N/A 返回空值,否则返回原值 EXCEL取某个字符后面数值,如果没有,返回空值 在js中怎么判断返回的是空值 excel公式中不能匹配时需返回空值如何表示 樟脑丸在水里多长时间能完全溶解完 App公司该如何持续开发出有吸引力的产品 哪个公司可以提供比较有品质的APP研发啊 父亲和母亲身高都矮那孩子可以通过后天的因素来长高不? 父母身高都矮,孩子身高长到170以上的可能性大吗? 妈妈个子矮孩子能高吗 父母很矮孩子能长高吗?广州有看诊孩子身高的地方吗 妈妈是先天不足所以矮,爸爸很高,他们的孩子长得高吗 妈妈个子不高,孩子能长高吗? 下水管堵帽如何拧开 自行车线管帽怎么用 抛向空中是什么短语? 抛向空中(数量词) 为什么球被抛到空中没有马上掉下来? 为什么把猫抛到空中她总是能平稳的落到地面? 一个物体抛到空中,它会越来越慢,那真正导致这个物体变慢的是哪个力