А зачем тебе вообще нужен асинхронный запрос? Потому, что как часто
бывают с ардуинщиками -- они услышали что-то одно, зацепились, а
темой не владеют и другого ничего слышать уже не хотят. И делают
какие-то странные вещи. Асинхронный запрос нужен веб-аппликации, когда оно живет условно независимо от
сети и запросов, и может в процессе загрузки что-то ещё делать.
Если у тебя всё равно и html с сервера загружается каждый раз, то
зачем там асинхронщина -- не понятно. Потому, что ты те же данные можешь или прямо в html вставить (прямо xml внутрь скрипта, внутрь CDATA и какого-либо неотображаемого элемента, и потом в javascript распарсить). Или данные отдавать отдельным файликом и запрашивать его как скрипт. Опять же завернуть XML внутрь JSON относительно не сложно, хотя в html проще... Есть, например, такая штука JSONP: Это когда запросы делаются как добавление новых скриптов на страницу, отдаётся javascript который тут же интерпретируется. Ну и как в топике уже сказалось, это всё безнадёжно устаревшие костыли и подпорки на форме WebSockets.
https://www.ibm.com/developerworks/web/library/wa-aj-jsonp1/