Как передать другой параметр с изменением состояния AJAX - PullRequest
0 голосов
/ 28 августа 2011

В моем запросе ajax есть следующий код:

xhr.onreadystatechange = stateChange;

и функция stateChange имеет значение function stateChange(event)

Можно ли добавить второй параметр в функцию, чтобы она не просто передавала число, а также событие?

Я пытался сделать xhr.onreadystatechange = stateChange(event,'123'); с функцией stateChange(event,num), но, похоже, она не работает.

Ответы [ 2 ]

0 голосов
/ 28 августа 2011

Мммм, вроде:

xhr.onreadystatechange = function(event) { stateChange(event,'123'); };

будет делать то, что вы говорите, что хотите, но мне не ясно, что то, что вы говорите, вы хотите, это то, что вам нужно.

0 голосов
/ 28 августа 2011

Вы можете создать замыкание, которое разрешит вашей функции обработки событий доступ к этим переменным.

Вместо

xhr.blahblah;
xhr.onreadystatechange = stateChange;
xhr.blahblah;

Этот метод создает анонимную функцию, которая дает область действия вашей переменной '123':

xhr.blahblah;
function (xhrObj, callbackFn, param) {
  xhrObj.onreadystatechange = function (event) {
    callbackFn(event, param);
  };
}(xhr, stateChange, '123');
xhr.blahblah;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...