我有一个ajax功能:
$.ajax({
url: 'http://localhost/process.php',
type: 'post',
data: '',
success: function(output) {
var animal = output
}
});
我希望全局设置var animal
,这样即使在ajax函数的成功回调之外,我也可以在页面的任何地方调用它。怎么做?
答案 0 :(得分:5)
在任何函数或jQuery构造之外声明它
var animal = null;
$(function(){
$.ajax({
url: 'http://localhost/process.php',
type: 'post',
data: '',
success: function(output) {
animal = output
}
});
});
答案 1 :(得分:2)
如果您希望它是全局变量,则将其声明为全局变量。通常你可以通过
来做到这一点var animal;
围绕.js文件的顶部。然后,代码中对animal
的任何引用都将是全局变量,除非您在范围内的其他位置重用该名称。
答案 2 :(得分:0)
如果您想动态地执行此操作。
jQuery.globalEval()
http://api.jquery.com/jQuery.globalEval/
此方法与使用普通JavaScript eval()的行为不同,因为它在全局上下文中执行(这对于动态加载外部脚本很重要)。
$.globalEval( 'var animal = ' + output );
答案 3 :(得分:-1)
删除var
以使变量成为全局变量。
但请注意,使用全局变量通常被视为不好的做法,因为它们很难调试。