加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在clojurescript中实现一个ajax调用

发布时间:2020-12-16 03:10:02 所属栏目:百科 来源:网络整理
导读:我是clojurescript的新手,并希望通过实施一个以前写的应用程序纯粹在clojurescript做更深入的潜水,但是在执行ajax调用方面是失败的。任何人都可以在网上指出一个例子,或者给我一个代码片段或两个? 2016年1月22日更新 虽然它仍然有效,但原来的答案是从一
我是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

希望有人觉得这有帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读