2011-01-31 17 views
3

私は2つの方法があります.1つはJSによって発行されたログイン要求を処理するはずであり、もう1つはログインページを処理することです。spring mvcでは、リクエストマッピングでheaders = "x-requested-with:XMLHttpRequest"が機能しませんでしたか?

@RequestMapping(value = "/login", method = {RequestMethod.GET, RequestMethod.HEAD}, 
    headers = "x-requested-with:XMLHttpRequest") 
    public @ResponseBody String login() {...} 


@RequestMapping(value = "/login", method = {RequestMethod.GET, RequestMethod.HEAD}) 
    public String getLoginPage() {......} 

しかし、すべてのログイン要求は、それがいるかどうかをgetLoginPage方法に行くように見える「X-要求-で:XMLHttpRequestの」ヘッダーまたはありません。私はチェックされたHTTPヘッダーを倍増させ、正しいヘッダーを含んでいます。だから、Springはloginメソッドを無視しているようです。

私はしばらくこの問題に苦労してきましたが、どんなアドバイスも感謝しています。

答えて

8

headersは、区切り文字として=を使用しています。正しい答えのための

@RequestMapping(value = "/login", method = {RequestMethod.GET, RequestMethod.HEAD},  
    headers = "x-requested-with=XMLHttpRequest") 
+0

感謝を。私が理解していないのはHTTP仕様で、デリミタとして ":"を使用しています。なぜ春がそれに固執せず、私の人生を楽にしてくれるのか:)。 – Bobo

+0

@Bobo: '!='という条件を '!:'と書くとどうでしょうか? – axtavt

関連する問題