2017-03-01 17 views
1

처리 방법을 모르는 링 스트림 응답이 나타납니다.Clojure - Ring Stream Response

내 아약스 POST에 매개 변수를 전달하고 대신 내가 전달 원래 매개 변수가되는, 내 compojure 경로에서 함수에 도달 할 때, 나는되는 링 스트림 응답을

{:remote-addr 0:0:0:0:0:0:0:1, :params nil, :route-params nil, :headers {origin http://localhost:3300, host localhost:3300, user-agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/55.0.2883.87 Chrome/55.0.2883.87 Safari/537.36, content-type application/transit+json, content-length 42, referer http://localhost:3300/view, connection keep-alive, accept application/transit+json, application/transit+transit, application/json, text/plain, text/html, */*, accept-language en-GB,en-US;q=0.8,en;q=0.6, accept-encoding gzip, deflate, br}, :server-port 3300, :keep-alive? true, :uri /add-user!, :server-name ip6-localhost, :query-string nil, :body << stream: {:pending-puts 0, :drained? false, :buffer-size 42, :permanent? false, :type netty, :sink? true, :closed? true, :pending-takes 0, :buffer-capacity 16384, :connection {:local-address ip6-localhost/0:0:0:0:0:0:0:1:3300, :remote-address /0:0:0:0:0:0:0:1:34448, :writable? true, :readable? true, :closed? false, :direction :inbound}, :source? true} >>, :scheme :http, :request-method :post} 

왜 이것이 일어날까요? (내 PARAM 거짓말을 믿고)

몸은

<< stream: {:pending-puts 0, :drained? false, :buffer-size 30, :permanent? false, :type netty, :sink? true, :closed? true, :pending-takes 0, :buffer-capacity 16384, :connection {:local-address ip6-localhost/0:0:0:0:0:0:0:1:3300, :remote-address /0:0:0:0:0:0:0:1:34580, :writable? true, :readable? true, :closed? false, :direction :inbound}, :source? true} >> 

어떻게 밖으로 내 매개 변수를 얻기 위해이 처리 할입니까?

내 매개 변수는 응용 프로그램 핸들러가 도움이 될 수 있습니다 정의 할 때 ring.middleware.params에서 (wrap-params) 미들웨어를 추가 형태로 {:id id :pass pass}

감사

+1

링 서버에 어떤 미들웨어를 사용 했습니까? –

+0

compojure를 사용하고 있으므로 링 미들웨어라고 생각합니다. – rbb

답변

0

해야한다.

요청 처리기에서 사용할 수있는 액세스 가능한 :params 필드가 있어야합니다.