Как передать данные от формы в ClojureScript на сервер?

Есть фронтенд на CLJS, форма с инпутами:

    (defn g []    
  [:div  
   [:form {:style {:text-align "center"}    
           :on-submit #(fn [e] (.stopPropagation e))}    
    [:br]    
    [:input {:type "text" :placeholder "Полное имя" :id "name" :value (:name @to-send)   
             :on-change (fn [e]   
                          (swap! to-send assoc :name  
                                 (-> e .-target .-value))   
                          (println (:name @to-send)))        
                      }]    
    [:select {:id "sex" :name "sex"    
              :on-change (fn [e]    
                           (swap! to-send assoc :sex    
                                  (-> e .-target .-value))    
                           (print (:sex @to-send)))}    
     [:option {:value ""}]   
     [:option {:value "M"} "М"]    
     [:option {:value "F"} "Ж"]]

    [:input {:type "date" :id "birth" :placeholder "Дата рождения"    
             :on-change (fn [e]   
                          (swap! to-send assoc :birth  
                                 (-> e .-target .-value))    
                          (print (:birth @to-send)))}]    
    [:input {:type "text" :id "address" :placeholder "Адрес"    
             :on-change (fn [e]    
                          (swap! to-send assoc :address   
                                 (-> e .-target .-value)))}]   
    [:input {:type "number" :id "oms" :placeholder "Номер полиса"    
            :on-change (fn [e]   
                          (swap! to-send assoc :oms   
                                 (-> e .-target .-value)))}]   
    [:br][:button 
     {:on-click #(fn [e]  
                          (.preventDefault e)   
                          (sender @to-send))} "save"]    
    ]])

И функция sender:

(defn sender [data]
  (POST "https://arcane-meadow-67682.herokuapp.com/create" {:body data            
                                        :handler prn}))    
(GET "https://arcane-meadow-67682.herokuapp.com/read" {:handler    
                            (fn [resp]    
                              (doseq [i (s/split resp #"<br>")]    
                                (swap! records conj (edn/read-string i)))    
                              (println @records)    
                                     )})

Проблема в том, что при нажатии на кнопку save данные никуда не отправляются, а страница просто обновляется. В чем может быть ошибка?


Ответы (0 шт):