ie 8以下不支持全局变量,我在$.ajax success里面改了局部变量,如何在函数外面接收里面的值啊?有
function searchCount(type) {
searchCountUrl = domain + "rest/member/searchCount.do";
$.ajax({
url: searchCountUrl,
method: 'get',
async: false,
data: {
key: "mooc",
keyword: skeyword,
type: type
},
success: function (data) {
var activityCount = data.data.activityCount;
$("#activityCount").text(activityCount);
}
})
}
alert(activityCount); //我想接收sucesss 里面的值。
但我写了局部变量。请问有什么办法? 因为ie8以下 经常报错,不支持全局变量,只要改为局部变量就好,
但关键我这里怎么接收内部函数里$.ajax success里的值啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
任何浏览器都支持全局变量的!!
你的代码错了啊
你用var在那个回调函数中重申明了一个同名变量啊,不是修改,大兄弟,咱认真点。
其次,AJAX是异步的,你这alert及其有可能在ajax还未执行完毕就执行了。
首先我觉得IE8应该是支持全局变量的,其次ajax是异步,你在后面alert,是弹不出来ajax的结果的!弹出的只是开始声明是的值!ajax成功后,把要做的事情都丢在成功的回调中即可!
首先你已经设置了
async: false
,那么这段请求就是同步阻塞的,直接在后面取就可以了。如果设置
async: true
,那就需要以回调的形式获取结果。或者用新特性的Promise来封装
你接收到了值要干什么?data.data是你的json?如果说为了显示,就你现在这样就可以了