В Википедии есть отличный пример о том, как настроить действительный запрос XMLHttpRequest.
Обычно вам нужно настроить прослушиватель onreadystatechange для вашего запроса, затем открыть соединение, передав URL-адрес (например, weather_http, а не weather_http, как в вашем коде) и, наконец, отправить все ваши данные.
Поскольку запросы XHR являются асинхронными, вы должны реализовать этот обратный вызов, чтобы механизм javascript знал, что делать, когда XHR отвечает.
Когда вы включите XHR, вы обнаружите, что вы не можете делать то, что пытаетесь сделать без прокси. Это из-за междоменной политики для XHR. Вы не можете получать данные через XHR из домена, отличного от текущего домена приложения.
Чтобы преодолеть это, вам необходимо внедрить прокси-сервер для отправки XHR в другой домен, получить ответ и вернуть его в ваше приложение. Существует множество доступных прокси-серверов, просто поищите в Google .
Наконец, у вас есть еще одна проблема, которая заставляет вашего прокси добавить «weather = city» к целевому URL.
Удачи!