Recibo con éxito una respuesta de un punto final usando cljs-ajax (como se muestra a continuación). Sin embargo, parece que no puedo diferenciar entre diferentes códigos de estado de éxito en mi controlador de respuesta.
(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" en el controlador parece ser simplemente un indicador de éxito verdadero/falso, y no diferencia entre los códigos de estado 200 y 204, los cuales se consideran éxitos. El cuerpo de la respuesta es el texto que se devuelve en la respuesta y no parece contener un código de estado, a menos que la solicitud falle.
¿Cómo puedo determinar el código de estado de la respuesta?
Parece que la respuesta es un mapa con claves como :status que contiene 200 para mi prueba. El resto de claves son: (:status :failure :response :status-text :original-text)
Utilice :response-format (ajax/ring-response-format) . Ver también: https://github.com/JulianBirch/cljs-ajax/issues/57