我是clojurescript的新手,并希望通过实施一个以前写的应用程序纯粹在clojurescript做更深入的潜水,但是在执行ajax调用方面是失败的。任何人都可以在网上指出一个例子,或者给我一个代码片段或两个?
2016年1月22日更新
原文链接:https://www.f2er.com/ajax/160273.html虽然它仍然有效,但原来的答案是从一个缺乏ClojureScript解决方案的时候就有一个以上的贡献者。而不是直接利用XhrIo,绝对考虑使用维护良好的功能丰富的解决方案,而不是像cljs-ajax那样包装它,如下面的Mikhail D所示!
好的,所以考虑到Clojurescript利用了Google的Closure JavaScript库,快速搜索Closure文档可以将xhrIo作为生成AJAX调用的正确方法:
Example using Closure’s Asynchronous XMLHttpRequests with XhrIo
goog.net.XhrIo.send(url,opt_callback,opt_method,opt_content,opt_headers,opt_timeoutInterval)
From src/cljs/clojure/browser/net.cljs in 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做类似的操作。查看链接了解详情:
希望有人觉得这有帮助!