7
私は秘書と試薬を使用しています。これは私のコードです:clojurescriptでクエリパラメータを取得するには?
無視(def view (atom nil))
(defn layout [view]
[:div @view])
(reagent/render-component [layout view] (.getElementById js/document "message"))
(secretary/set-config! :prefix "")
(secretary/defroute home-path "/" [query-params]
(timbre/info "Path : /, query params : " query-params)
(let [warning (:warning query-params)
success (:success query-params)
login-failed (:login_failed query-params)]
(when warning
(timbre/info "Warning found : " warning)
(reset! view [:h4 [:span.label.label-warning warning]]))
(when success
(timbre/info "Success found : " success)
(reset! view [:h4 [:span.label.label-info success]]))
(when login-failed
(timbre/info "Login failed")
(reset! view [:h4 [:span.label.label-warning "Login Failed."]]))))
(let [h (History.)]
(goog.events/listen h EventType.NAVIGATE #(secretary/dispatch! (.-token %)))
(doto h
(.setEnabled true)))
:プレフィックス値(私は「」、「#」を試しても設定しない:すべての接頭辞を):
http://localhost:8080/login#/?success=SuccessMessage
このコードはのみのようなルートで動作します
しかし、それはのようなルートでは動作しません:私は実際に達成しようとしている何
http://localhost:8080/login?success=SuccessMessage
は、障害が発生した場合に
に私をリダイレクトする、 friendからログイン失敗を解析することですhttp://localhost:8080/login?&login_failed=Y&username=someUser
と表示ログインに失敗したというメッセージが表示されます。 私はこの秘書を使用する必要はありません、クエリパラメータを解析するために働くものは私にとっては問題ありません。
ハードな方法は、私が取得することができ、クエリ文字列を解析するために、次のようになります。
(-> js/window .-location .-search)
私はこれはすでにいくつかのライブラリによくやっていると信じています。