Я настоятельно рекомендую вам не использовать свой собственный код Ajax. Вместо этого используйте фреймворк, такой как Prototype, Dojo или любой другой. Они позаботились о том, чтобы обработать все готовые состояния, которые вы не обрабатываете (2 означает, что он был отправлен, 3 означает, что он находится в процессе и т. Д.), И они должны избежать ответа, который вы получаете, чтобы не вставить потенциально небезопасный javascript или что-то на вашу страницу.
Еще одна вещь, которую даст вам более надежная структура, - это возможность делать больше, чем просто использовать innerHTML для замены элементов в DOM. Ваша функция здесь может использоваться только для замены одного элемента ответом на вызов ajax. С Ajax вы можете сделать гораздо больше.