我对clojurescript是个新手,我想通过纯用clojurescript实现一个以前编写的应用程序来做更深一层的研究,但是我对如何实现ajax调用感到困惑。有人能在网上给我举个例子,或者给我提供一两个代码片段吗?
发布于 2014-09-01 05:25:25
另一个可行的选择是https://github.com/JulianBirch/cljs-ajax
因为它是为ClojureScript设计的,所以语法看起来更清晰、更简单。它还支持许多开箱即用的功能(例如:transit
、edn
和json
格式)。
自述文件中的一些示例:
(ns foo
(:require [ajax.core :refer [GET POST]]))
...
(GET "/hello" {:handler handler
:error-handler error-handler})
(POST "/send-message"
{:params {:message "Hello World"
:user "Bob"}
:handler handler
:error-handler error-handler})
发布于 2012-04-15 00:41:40
我做的方式略有不同。我不知道为什么Marc在他的回答中建议的方式对我不起作用。希望这也是有用的。
我直接使用了goog.net.XhrIo
,而不是xhr-connection
包装器。
(defn callback [reply]
(let [v (js->clj (.getResponseJson (.-target reply)))] ;v is a Clojure data structure
(your-function-here v)))
(.send goog.net.XhrIo url callback)
我能看到的主要区别是,我使用.-target
而不是调用target
来获取JSON对象的属性。
值得注意的是,在v
中,从JSON对象创建的映射是通过字符串而不是关键字进行键控的。
https://stackoverflow.com/questions/8554745
复制相似问题