• Clojure Web编程 json格式返回


    在用Clojurescirpt来写前端之后,我终于碰上了跟后台交互的过程。
    首先要解决问题的是,通过jquery传输到后台的数据怎么接受。

    对于这一点,用Compojure已经解决这点问题。它是一个Ring的特定领域接口。(这少我是这么称呼它的。)

    那么怎么返回json的格式的处理呢?

    Compjure自带的是字符串返回格式。不是json样式。所以需要自己动手。
    方法1:进行json格式的处理,自己写函数。对于比较简单的数据结构可以这样,但是我比较懒。
    方法2:用中间件来使用。(Clojure的中间件更多的是一种在函数调用链上面嵌入一节操作的过程,我的意思是,在clojure中的操作更多的是一种函数多层嵌套调用,数据经过层层函数最终出来,既所得结果。)原本想使用Compojure文档里面推荐的中间件:ring-middleware-format,但是后来看看它的文档太多。我耸了。然后就用了ring-json中间件。该中间件就四个函数。很好使用,就是在你输出的时候,记得多嵌套一个函数就行。

    (ns blackmamba.routes
        (:use
            compojure.core
            blackmamba.views
            [hiccup.middleware :only (wrap-base-url)]
            ring.middleware.json ; ring-json的中间件
            ring.util.response ; 工具函数
        )
        (:require [compojure.route :as route] [compojure.handler :as handler] [compojure.response :as response]))
    
    ; 路由设置
    (defroutes main-routes
        (GET "/" [] (index-page)) ; 首页
        (GET "/loginAuth" [password username]
              (response {"账户:" username "密码:" password}) ; 返回的时候一定要用映射格式
        )
        (route/resources "/") ; 资源
        (route/not-found "网页没有找到!")) ; 没有找到
    
    (def app ; 应用入口
        (-> (handler/site main-routes)
            (wrap-base-url)
            (wrap-json-response) ; 输入之前包装json
            ))

  • 相关阅读:
    const修饰指针
    C++中引用
    C++引用做函数返回值
    C++内存分区模型
    轻量级图卷积网络LightGCN介绍和构建推荐系统示例
    JavaJDBC
    页面跳转/onclick后顶在网页最上面:href锚点的使用
    Java数据结构定义
    java设计模式之MVC模式
    java面向对象:封装
  • 原文地址:https://www.cnblogs.com/snakevash/p/3012766.html
Copyright © 2020-2023  润新知