如何在cljs ajax的处理程序中获取成功响应的状态代码?
我正在使用cljs ajax成功地从端点获得响应(如下所示)。但是,我似乎无法在响应处理程序中区分不同的成功状态代码如何在cljs ajax的处理程序中获取成功响应的状态代码?,ajax,clojure,clojurescript,http-status-codes,Ajax,Clojure,Clojurescript,Http Status Codes,我正在使用cljs ajax成功地从端点获得响应(如下所示)。但是,我似乎无法在响应处理程序中区分不同的成功状态代码 (ns mynamespace (:require [ajax.core :as ajax])) (defn start-monitoring [] (let [handler (fn [[ok response]] (if ok (.log js/console response)
(ns mynamespace
(:require [ajax.core :as ajax]))
(defn start-monitoring []
(let [handler (fn [[ok response]]
(if ok
(.log js/console response)
(.error js/console (str response))))]
(ajax/ajax-request {:uri "/myendpoint"
:method :get
:params {:since (.getTime (js/Date.))}
:handler handler
:format (ajax/json-request-format)
:response-format (ajax/json-response-format {:keywords? true})})))
处理程序中的“ok”看起来只是一个真/假成功标志,并不区分200和204个状态代码,这两个状态代码都被视为成功。响应主体是响应中返回的任何文本,并且似乎不包含状态代码,除非请求失败
如何确定响应的状态代码?似乎响应是一个带有键的映射,如
:status
,其中包含200个用于我的测试。
其余的关键是:
(:状态:故障:响应:状态文本:原始文本)
使用:响应格式(ajax/ring响应格式)
。
另见: