В дополнение к той же проблеме политики происхождения ваш alert
находится в нелогичном месте. Когда вы используете XMLHttpRequest, функция, присвоенная xhr.onreadystatechange
, будет вызываться при каждом изменении readyState
. readyState
должно измениться (теоретически) с 0 (инициализировано) до 1 (отправлено) до 2 (загрузка) до 3 (интерактивно) до 4 (завершено).
Ваш код проверяет readyState
и проверяет, завершен ли запрос (if (xhr.readyState == 4)
), а если нет, alert
код состояния HTTP . Поскольку запрос еще не отправлен (или только что отправлен), статус HTTP еще не должен быть.
В идеале вы должны переместить alert
внутри блока if
, чтобы он знал, когда он закончится.