Angular HttpClient post 跨域請求踩過的一個坑 (


    @SuppressWarnings("unchecked")
    @RequestMapping(value="/login",method=RequestMethod.POST)
    @ResponseBody
    public Map login(@RequestBody LoginDto login,
            HttpServletRequest request,
            HttpServletResponse response,Model model){  
            Map<String,Object> result = new HashMap<String,Object>();
        try {
            
            MyUsernamePasswordToken token = new MyUsernamePasswordToken(login.getUserName(), login.getPassword());
            logger.info("andriod login--------------");
            logger.info("userName:"+login.getUserName() +"  password:"+login.getPassword());

            token.setIsMember(login.getIsMember());
            request.getSession().setAttribute("isMember", login.getIsMember());
            
            SecurityUtils.getSubject().login(token);
            /*
            SecurityUtils.getSecurityManager().login(
                    SecurityUtils.getSubject(), token);
                    */
            result.put("result", "success");
            return result;
        } catch (AuthenticationException e) {  
            result.put("result", "failed");
            result.put("error", "密碼或賬號錯誤.");
            return result;  
        }  
    }  

 

上述代碼, andirod app 可以訪問,但angular HttpClient 返回錯誤, 說無法認識參數,參數都是可以的,

 

response.setHeader("Access-Control-Allow-Headers", "x-requested-with, Content-Type")

查了半天,原來是沒有加上 Content-Type, 加上后,問題消失,花費半天時間。~~~~~~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM