Небольшие вопросы для AJAX onreadystatechange - PullRequest
1 голос
/ 17 мая 2010
xmlhttp.onreadystatechange=function() {

Так что это говорит onreadystatechange, вызовите функцию (). Могу ли я указать параметры в function()? Второй вопрос, что это значит, когда кто-то пишет, xmlhttp.onreadystatechange=statechanged? Значит ли это, что это всегда будет правдой или что-то в этом роде?

Ответы [ 2 ]

2 голосов
/ 17 мая 2010
  1. Вы не можете использовать параметр, так как onreadystatechange не имеет параметров, чтобы дать вам. Какой параметр вы ожидаете? Это просто крючок для обработки ответа. То, что вы делаете имеете в наличии, это xmlhttp.readyState, который сообщает вам, готов ли ответ или нет, xmlhttp.status - код состояния http (т.е. 200) и xmlhttp.responseText - сам ответ.

  2. Нет - это означает, что вы присваиваете переменную ссылку (функцию) для onreadystatechange.

Я бы настоятельно рекомендовал использовать JS-фреймворк (например, jQuery ) для выполнения вызовов AJAX - он отвлечет детали низкого уровня, о которых вы спрашиваете. Если вы должны использовать собственные вызовы JS AJAX - , прочитайте это руководство .

0 голосов
/ 17 мая 2010

Вы можете передавать параметры с помощью функции-оболочки:

var func = function(p1, p2) {/*...*/};
xmlhttp.onreadystatechange = function() {
  func(foo, bar);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...