我有一种情况,我需要一个jQuery回调来处理它的范围之外的变量。为简单起见,假设以下代码:
$('#myBtn').on('click', function(e) {
var num = 1;
// assume this returns the following:
// { success : true, num : 1 }
$.getJSON('/api/get_number', {}, function(response) {
if ( response.success ) {
// here, num is unknown unless I define it as a
// global variable
num += response.num ;
}
});
console.log(num); // => want 2, get 1
});
我希望num在回调函数中可用。如果不声明全局变量(在onclick函数之外声明num),这样做的好方法是什么?有没有办法将它作为参数传递而不必从服务器发送它?感谢。
答案 0 :(得分:-1)
$('#myBtn').on('click', function(e) {
var num = 1;
// assume this returns the following:
// { success : true, num : 1 }
$.getJSON('/api/get_number', {}, function(response) {
// get responce
if ( response.success ) {
// here, num is unknown unless I define it as a
// global variable
num += response.num ;
console.log(num); // you will get 2 here
}
});
// responce havnt get ,you always get 1
console.log(num); // => want 2, get 1
});