Обновление от 22 января 2016 г.
Хотя это все еще работает, первоначальный ответ пришел из того времени, когда было общее отсутствие решений ClojureScript с более чем одним участником.Вместо того, чтобы напрямую использовать XhrIo, определенно рассмотрите возможность использования хорошо поддерживаемого, многофункционального решения, которое вместо этого обернет его, например, cljs-ajax , как предложено Михаилом D ниже!
ХорошоТак, учитывая, что Clojurescript использует библиотеку Google Closure JavaScript, быстрый поиск в документации Closure дал xhrIo в качестве правильного метода для генерации вызовов AJAX:
Пример использования асинхронного XMLHttpRequests Closure с XhrIo
goog.net.XhrIo.send(url, opt_callback, opt_method, opt_content,
opt_headers, opt_timeoutInterval)
Быстрый обзор источника Clojurescript показал следующую функцию:
Из src / cljs / clojure / browser / net.cljs в clojure / clojurescript
(defn xhr-connection
"Returns an XhrIo connection"
[]
(goog.net.XhrIo.))
Итак, что-то вроде этого должно иметь ожидаемые результаты:
(def xhr xhr-connection)
(defn myCallback [replyValue]
... Do Something with replyValue
... for example: (someJsonFunc (.getResponseJson (.target replyValue))))
(defn ajax-json [url]
(.send xhr url myCallback))
Для JSONP вы можете сделать что-то подобное, используя goog.net.Jsonp.Для получения подробной информации см. Ссылку:
API закрытия JSONP
Надеюсь, кто-то найдет это полезным!