我使用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状态代码,这两个代码都被认为是成功的。响应正文是响应中返回的任何文本,并且似乎不包含状态代码,除非请求失败。
如何确定回复的状态代码?
答案 0 :(得分:2)
似乎响应是一个带有:status
等键的地图,其中包含200个我的测试。
其余的钥匙是:
(:status :failure :response :status-text :original-text)
答案 1 :(得分:0)
使用:response-format (ajax/ring-response-format)
。
另请参阅:https://github.com/JulianBirch/cljs-ajax/issues/57