2017-02-05 4 views
3

におけるURIのフラグメントは、私がリクエストのURIのフラグメントを読む必要がありなさい。私の蒸気アプリケーション用蒸気

let drop = Droplet() 

drop.get("fragment") { 
    request in 

    print("URI: \(request.uri)") 
    print("Fragment: \(request.uri.fragment)") 

    return "" 
} 

問題がある:私はhttp://myserver/fragment#helloを要求すると、request.uri.fragmentnilです。これはコンソールに表示されます:

URI: http://localhost:8080/fragment 
Fragment: nil 

私に何か不足していますか? Vapor documentationは、フラグメントがURIに含まれていない場合は何も言及していません。

答えて

4

URIフラグメントは、クライアントのためのものです。あなたの蒸気サーバーはそれを受け取っていません。フラグメント内のデータをサーバーに送信する場合は、クエリパラメータを直接使用するか、クライアントのフラグメント(つまり、これがWebアプリケーションの場合はJavaScript)を解析してサーバーに渡す必要があります何か他の方法。

Wikipediaから:

フラグメントは、文書のMIMEタイプに依存し、クライアント(Webブラウザ)によって評価されています。彼らは文書

+0

こんにちはを取得する際に、クライアントがサーバーへのURI断片を送ることになっていない、私は完全にあなたの答えを理解することができませんでした。私のクライアントとしてPostmanを使用して私のVaporサーバーと通信している場合、非フラグメントの '' Fragment''を取得するにはどうすればよいでしょうか?私はまた、OPによって指摘されたVaporの文書を読んだ。 OPと同じようなテストもありました。 – Glenn

+0

Postmanはフラグメントをサーバに送信しません。フラグメントはクライアント(通常はWebブラウザ)用です。サーバー上でアクセスしたいフラグメントには何が入っていますか? –

+0

ありがとう!しかし、それは同じです。私がブラウザを使って自分の蒸気コードに入れたルートを訪れると、蒸気はまだ '' nil''フラグメントを取得します。私がアクセスしたい断片には何が入っていますか?本当に、何も。私はちょうど興味があり、将来この "断片化"が必要になるでしょう。あなたの答えに+1してください。 – Glenn

関連する問題