首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在clojurescript中实现ajax调用

在clojurescript中实现ajax调用
EN

Stack Overflow用户
提问于 2011-12-19 04:56:21
回答 2查看 9.2K关注 0票数 17

我对clojurescript是个新手,我想通过纯用clojurescript实现一个以前编写的应用程序来做更深一层的研究,但是我对如何实现ajax调用感到困惑。有人能在网上给我举个例子,或者给我提供一两个代码片段吗?

EN

回答 2

Stack Overflow用户

发布于 2014-09-01 05:25:25

另一个可行的选择是https://github.com/JulianBirch/cljs-ajax

因为它是为ClojureScript设计的,所以语法看起来更清晰、更简单。它还支持许多开箱即用的功能(例如:transitednjson格式)。

自述文件中的一些示例:

代码语言:javascript
复制
(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})
票数 14
EN

Stack Overflow用户

发布于 2012-04-15 00:41:40

我做的方式略有不同。我不知道为什么Marc在他的回答中建议的方式对我不起作用。希望这也是有用的。

我直接使用了goog.net.XhrIo,而不是xhr-connection包装器。

代码语言:javascript
复制
(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对象创建的映射是通过字符串而不是关键字进行键控的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8554745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档