栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在ajax回调函数之外使用变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在ajax回调函数之外使用变量

您提供的代码是完全有效的,并且实际上

icon
可以 “保持”其价值。问题可能是
get()
异步运行的-仅
'data.xml'
从服务器完全加载后才调用匿名函数。因此,现实世界中的执行顺序如下所示:

  1. 调用
    get('data.xml', function(xml){...})
    (开始加载data.xml)
  2. 通话
    console.log(icon)
    icon
    目前仍为null)
  3. (data.xml中完成载入) 现在 匿名函数被调用时,其分配值给图标:
    icon = xml.documentElement.getElementsByTagName("icon")

如果你想要做一些事情的价值

icon
之后 的“data.xml中”已被提取,那么你需要做的是 内部 匿名回调函数。像这样:

var icon; $(function(){  $.get('data.xml', function(xml){       icon = xml.documentElement.getElementsByTagName("icon");       console.log(icon);   });});

祝好运!


注意:您仍然可以使用

icon
从代码, 外面 的匿名功能,但你需要等待来访问它,直到
匿名函数已经运行。最好的方法是将相关代码放入其自己的函数中,然后从回调函数中调用该函数:

var icon; $(function(){  $.get('data.xml', function(xml){       icon = xml.documentElement.getElementsByTagName("icon");       loadIcon();   });   function loadIcon() {       console.log(icon);       // ... do whatever you need to do with icon here   }});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号