XMLHttpRequest - это объект, который вы бы использовали для асинхронного обратного вызова для отправки / получения какого-либо сообщения. Тем не менее, я думаю, что вопрос, который вы задали, имеет несколько неправильных представлений. gov предоставил то, что очень распространено и что я использую большую часть времени в своих личных проектах, а именно метод jQuery.ajax (). Это в основном завершает запрос для вас с хорошим, простым синтаксисом. Есть и другие библиотеки, такие как Google Closure, Dojo и YUI (и другие!), Которые делают подобные абстракции в зависимости от того, что вам нужно.
Я предполагаю, что под предложением Microsoft вы подразумеваете использование UpdatePanels. Это в основном будет имитировать асинхронный обратный вызов, однако он все равно будет использовать методы обратной передачи, к которым вы можете привыкнуть. Лично я не пошел по этому пути, потому что мне нравится контролировать JavaScript, используемый на странице (в отличие от генератора Microsoft).
WCF действительно предназначен для создания служб, которые могут потреблять или предоставлять сообщения. Возможно, вы захотите вызвать службу WCF с помощью вашего метода ajax, однако сам по себе WCF ничего не делает ajaxy.
Я лично не работал с oData, но, насколько я могу судить, это служебный протокол, помогающий структурировать сообщения, возвращающиеся по проводам, через каналы Atom или JSON.
Самый простой и быстрый стек, который я вижу в этом сценарии, будет использовать jQuery для общения со страницей asmx. Если вы еще не написали в WCF, будьте готовы к веселью настройки! Я надеюсь, что любая из приведенных выше сведений поможет вам.