在clojurescript中实现一个ajax调用

前端之家收集整理的这篇文章主要介绍了在clojurescript中实现一个ajax调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是clojurescript的新手,并希望通过实施一个以前写的应用程序纯粹在clojurescript做更深入的潜水,但是在执行ajax调用方面是失败的。任何人都可以在网上指出一个例子,或者给我一个代码片段或两个?
2016年1月22日更新

虽然它仍然有效,但原来的答案是从一个缺乏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)

对Clojurescript来源的快速回顾显示以下功能

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做类似的操作。查看链接了解详情:

JSONP Closure API

希望有人觉得这有帮助!

原文链接:https://www.f2er.com/ajax/160273.html

猜你在找的Ajax相关文章