循環時,我得到這個小麻煩,我總是得到相同的「y」值(5),它不會減少或增加。我想要的是重複ajax調用X次[所有],並通過匿名函數傳遞響應和當前的電話號碼。我希望你能幫助我。循環功能不起作用
function _shds(long, count, func) {
for (var y = 0; y < count; y++) {
gapi.client.load('urlshortener', 'v1', function() {
var request = gapi.client.urlshortener.url.insert({
'resource': {
'longUrl': long
}
});
var resp = request.execute(function(resp) {
func(resp.id, y);
});
});
}
}
var total = 3;
var base = "soem";
var lista = ["1", "2", "3", "4", "5"];
_shds("222", total, function(data, y) {
if (data != "undefined") {
newbase = base.replace("soem", data);
console.log(lista[y].uid + newbase + " pos:" + y);
}
});
UPDATE:對不起,這裏的代碼示例:http://jsfiddle.net/ZgXZB/
嘗試將我複製到另一個變量,然後傳遞該變量來調用。類似於'var j = i;'然後'調用(data,j);' – MrOBrian 2012-07-18 19:26:31
@MrOBrian JavaScript變量具有函數範圍,而不是範圍範圍。 – AlanFoster 2012-07-18 19:27:01
你的意思是你從服務器得到5次相同的答案嗎? – yadutaf 2012-07-18 19:29:23