我想在$ .ajax()函数中分配一个变量,以便下次调用该函数时它仍然可用...
这可能吗?
var xxx = 1;
没有完成这项工作。
谢谢!
答案 0 :(得分:2)
变量必须存储在静态位置,例如隐藏输入或数据属性。
$('#hiddenId').val(1);
// Or
$('#someFooId').data('last-ajax-value', 1);
下次调用该函数时,使用此函数获取上一个值:
var lastValue = $('#hiddenId').val();
// Or
var lastValue = $('#someFooId').data('last-ajax-value');
描述:存储与匹配元素相关的任意数据
答案 1 :(得分:2)
我认为你应该做那样的事情并且避免 DOM操作......
(function($){
var YourApp = {
var your_vault : "",
binders : function(){
$('#button').on('click',YourApp.ajaxRequest);
},
ajaxRequest : function() {
// Do something with YourApp.your_vault
$.ajax({
url: 'http://someurl.com',
succes: function(){
// Modifying your value:
YourApp.your_vault = 'A wonderfull new value';
}
});
}
};
YourApp.binders();
})(jQuery);
由于我的应用程序中没有真正的代码,因此我无法提供更准确的代码,但我认为您会明白这一点。
关键的想法是范围。只要您的var在更高的范围内,您就可以在较低的范围内修改它,不使用使用var
关键字。
答案 2 :(得分:1)
如果您的变量是在全局级别定义的,那么它可以在很多地方使用。
您需要了解variable scoping,这同样适用于javascript,无论运行哪个功能。