如何在jQuery/JavaScript中设置全局变量?
我有一个ajax函数:如何在jQuery/JavaScript中设置全局变量?,jquery,Jquery,我有一个ajax函数: $.ajax({ url: 'http://localhost/process.php', type: 'post', data: '', success: function(output) { var animal = output } }); 我希望对var animal进行全局设置,这样我就可以在页面上的任何地方调用它,甚至在ajax函数的成功回调之外。如何做到这一
$.ajax({
url: 'http://localhost/process.php',
type: 'post',
data: '',
success: function(output) {
var animal = output
}
});
我希望对
var animal
进行全局设置,这样我就可以在页面上的任何地方调用它,甚至在ajax函数的成功回调之外。如何做到这一点?在任何函数或jQuery构造之外声明它
var animal = null;
$(function(){
$.ajax({
url: 'http://localhost/process.php',
type: 'post',
data: '',
success: function(output) {
animal = output
}
});
});
在任何函数或jQuery构造之外声明它
var animal = null;
$(function(){
$.ajax({
url: 'http://localhost/process.php',
type: 'post',
data: '',
success: function(output) {
animal = output
}
});
});
如果希望它是全局变量,则将其声明为全局变量。一般来说,你可以通过
var animal;
在.js文件的顶部。然后,代码中对
动物的任何引用都将是全局变量,除非在范围中的其他地方重复使用该名称。如果希望它是全局变量,则将其声明为全局变量。一般来说,你可以通过
var animal;
在.js文件的顶部。然后,代码中对animal
的任何引用都将是全局变量,除非您在范围中的其他地方重复使用该名称。删除var
,使变量成为全局变量
但是请注意,使用globals通常被视为不好的做法,因为它们很难调试 删除var
,使变量成为全局变量
但是请注意,使用globals通常被视为不好的做法,因为它们很难调试 如果您想动态执行此操作
$.globalEval( 'var animal = ' + output );
jQuery.globalEval()
此方法的行为与使用普通JavaScript eval()不同,因为它是在全局上下文中执行的(这对于动态加载外部脚本很重要)
如果你想动态地做
$.globalEval( 'var animal = ' + output );
jQuery.globalEval()
此方法的行为与使用普通JavaScript eval()不同,因为它是在全局上下文中执行的(这对于动态加载外部脚本很重要)
IE doenst始终定义这些变量,以便在IEIE中获取一些错误。IE doenst始终定义这些变量,以便在IEIE中获取一些错误。请记住,$。ajax
调用是异步的。我能感觉到拐角处有一个“为什么动物没有定义?”;o) console.log(动物类型)代码>//可能由于未初始化而返回undefined。请记住,$。ajax
调用是异步的。我能感觉到拐角处有一个“为什么动物没有定义?”;o) console.log(动物类型)代码>//由于未初始化,可能返回undefined。我的答案有问题吗?你为什么要投反对票?我的答案有问题吗?你为什么要投反对票?