1. 程式人生 > >ssm框架下,前臺與後臺的資料互動

ssm框架下,前臺與後臺的資料互動

ssm框架下,js頁面通過json將資料傳送到後臺,後臺處理之後,再將資料傳送到前臺。

在前臺,要將使用者名稱和郵箱傳送到後臺,先將使用者名稱和和郵箱轉成json形式的資料,在通過ajax傳送到後臺,其中url為後臺要處理資料的地址。前臺主要程式碼如下,其中User是一個實體類,有id,name,email,password等屬性。

var user_json = {      
                "user_name": user_name,
                "user_mail":user_mail
            }    

 //js物件轉換成JSON字串
            var jason_str = JSON.stringify(user_json);

                //Ajax傳送資料給後臺
                $.ajax({
                    url :"/MyApplication/user/checkUserLogin", 
                    cache : true,
                    type : "post",
                    datatype : "json",
                    contentType : "application/json; charset=utf-8",
                    data : jason_str,
                    success : function (data){
                        //返回空值
                        if(data==null){
                            alert("不存在該使用者!");
                            window.location.href = "sighIn.html";
                        } else{  //存在該使用者
                        	if(password == data.user_password){  //密碼正確
                        		window.location.href = "index.html?user_name=" + data.user_name;
                        	}else{  //密碼不正確
                        		alert("密碼錯誤!");
                        		window.location.href = "sighIn.html";
                        	}
                        	
                        }
                    }
                    
                });

後臺只要程式碼如下(在controller層編寫)

@RequestMapping(value = "/checkUserLogin")
	public @ResponseBody User checkUserLogin(@RequestBody User user){
		if (user.getUser_name() != null) {
			user = userService.findByName(user.getUser_name());
		} else if (user.getUser_mail() != null) {
			user = userService.findByMail(user.getUser_mail());
		}
		return user;
	}

@RequestBody是將json形式的資料轉化成User型別的資料,@ResponseBody是將User型別的資料轉成json傳送到前端。