Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cljs ajax的处理程序中获取成功响应的状态代码?_Ajax_Clojure_Clojurescript_Http Status Codes - Fatal编程技术网

如何在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)

我正在使用cljs ajax成功地从端点获得响应(如下所示)。但是,我似乎无法在响应处理程序中区分不同的成功状态代码

(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响应格式)
。 另见: