Вы всегда можете создать замыкание для params
в каждой итерации:
var p;
for (p = 1; p <= pagecount; p++) {
var x = {
page: p,
pagesize: 100
};
(function(params) {
return function() {
$.getJSON("http://api.travel.stackexchange.com/1.1/tags?jsonp=?",
params,
function(data) {
/* I can use data.page to know the value of page in the query */
}
).error(function(jqXHR, textStatus, errorThrown) {
/* how can I find the value "page" had in the query? */
});
};
})(x);
}
Другим решением было бы переключиться с getJSON
на ajax()
, у которого есть свойство context
, которое можно установить на params
. В этом случае вы сможете получить доступ к объекту params
как this
в вашем обратном вызове ошибки.
context: params,
error: function(xhr, status, errorThrown) {
alert(this.pagesize);
}