JQeury實現方式
1. $.ajax()
* 語法:$.ajax({鍵值對});
//使用$.ajax()發送異步請求
$.ajax({
url:"ajaxServlet1111" , // 請求路徑
type:"POST" , //請求方式
//data: "username=jack&age=23",//請求參數
data:{"username":"jack","age":23}, //j建議這種
success:function (data) {
alert(JSON.stringify( data ));
},//響應成功后的回調函數
error:function () {
alert("出錯啦...")
},//表示如果請求響應出現錯誤,會執行的回調函數
dataType:"text"//設置接受到的響應數據的格式
});
2. $.get():發送get請求
* 語法:$.get(url, [data], [callback], [type])
* 參數:
* url:請求路徑
* data:請求參數
* callback:回調函數
* type:響應結果的類型
3. $.post():發送post請求
* 語法:$.post(url, [data], [callback], [type])
* 參數:
* url:請求路徑
* data:請求參數
* callback:回調函數
* type:響應結果的類型
jsp;
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>注冊頁面</title> <script src="js/jquery-3.3.1.min.js"></script> <script> //在頁面加載完成后 $(function () { //給username綁定blur事件 $("#username").blur(function () { //獲取username文本輸入框的值 var username = $(this).val(); //發送ajax請求 //期望服務器響應回的數據格式:{"userExsit":true,"msg":"此用戶名太受歡迎,請更換一個"} // {"userExsit":false,"msg":"用戶名可用"} $.post("findUserServlet",{username:username},function (data) { //判斷userExsit鍵的值是否是true alert(JSON.stringify( data )); var span = $("#s_username"); if(data.userExsit){ //用戶名存在 span.css("color","red"); span.html("asd"); }else{ //用戶名不存在 span.css("color","green"); span.html(data.msg); } },"json"); }); }); </script> </head> <body> <form> <input type="text" id="username" name="username" placeholder="請輸入用戶名"> <span id="s_username"></span> <br> <input type="password" name="password" placeholder="請輸入密碼"><br> <input type="submit" value="注冊"><br> </form> </body> </html>
servlet;
@WebServlet("/findUserServlet")
public class FindUserServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//1.獲取用戶名
String username = request.getParameter("username");
System.out.println(username);
response.setContentType("application/json;charset=utf-8");
HashMap<String, Object> map = new HashMap<>();
//調用service層判斷用戶名是否存在
if ("tom".equals(username)){
//存在
map.put("userExist",true);
map.put("msg","名字已存在");
}else{
//不存在
map.put("userExist",false);
map.put("msg","用戶名可以用");
}
//將map轉換成json,並且傳遞給客戶端
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(map));
mapper.writeValue(response.getWriter(),map);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
