[Ajax] Ajax 적용하기 - jQuery.get()/post() : GET/POST방식
ex.jsp => 사용자 요청 페이지
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/jquery/js/jquery.min.js">
</script>
<script type="text/javascript">
$(function(){
$('#btnSend').click(function(){
var url;
var n1=$("#num1").val();
var n2=$("#num2").val();
var o=encodeURIComponent($("#oper").val());
url="ex2_ok.jsp";
/*
-$.get(), $.post(), $.ajax() 함수를 이용하여 파라미터를 전송할시 주의사항
파라미터를 {이름:값 , 이름:값} 형식으로 보내면서
값을 encodeURIComponent() 해서 보내면
서버측에서는 반드시 URLDecoder.decode()로 디코딩해야한다.
-$.ajax() 에서 값을
이름1=값&이름2=값 으로 전송하면서 값을 encodeURIComponent() 해서 보내면
서버측에서는 반드시 URLDecoder.decode()로 디코딩하지 않는다.
*/
//AJAX-GET 방식 // {서버가 받는 이름 : 보내는 값}
$.get(url, {num1:n1, num2:n2, oper:o}, function(data){
$("#resultLayout").html(data);
});
});
});
</script>
</head>
<body>
<h3>AJAX-jQuery.get() : GET 방식</h3>
<form name="myForm">
<p>
<input type="text" name="num1" id="num1">
<select name="oper" id="oper">
<option value="+">더하기</option>
<option value="-">빼기</option>
<option value="*">곱하기</option>
<option value="/">나누기</option>
</select>
<input type="text" name="num2" id="num2">
<button type="button" id="btnSend"> = </button>
</p>
</form>
<hr>
<div id="resultLayout"></div>
</body>
</html>
|
cs |
ex_ok.jsp => 결과 처리 페이지
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<%@page import="java.net.URLDecoder"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
request.setCharacterEncoding("utf-8");
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
String oper = request.getParameter("oper");
oper = URLDecoder.decode(oper, "utf-8");
String result="";
switch(oper){
case "+" : result=String.format("%d+%d=%d", num1,num2, num1+num2); break;
case "-" : result=String.format("%d-%d=%d", num1,num2, num1-num2); break;
case "*" : result=String.format("%d*%d=%d", num1,num2, num1*num2); break;
case "/" : result=String.format("%d/%d=%d", num1,num2, num1/num2); break;
}
%>
<%=result %>
|
cs |
$.get(), $.post(), $.ajax() 함수를 이용하여 파라미터를 전송할시 주의사항
- 파라미터를 {이름:값 , 이름:값} 형식으로 보내면서 값을 encodeURIComponent() 해서 보내면 서버측에서는 반드시 URLDecoder.decode() 로 디코딩해야한다.
- $.ajax() 에서 값을 이름1=값&이름2=값 으로 전송하면서 값을 encodeURIComponent() 해서 보내면 서버측에서는 반드시 URLDecoder.decode()로 디코딩하지 않는다.
1)사용자 요청 받기
넘어온 값들을 변수에 각각 저장하고 문자열은 encodeURIComponent()를 해서 전송한다.
1
2
3
4
5
6
7
|
$('#btnSend').click(function(){
var url;
var n1=$("#num1").val();
var n2=$("#num2").val();
var o=encodeURIComponent($("#oper").val());
url="ex2_ok.jsp";
|
cs |
2) 결과 처리
넘어온 데이터는 URLDecoder.decode() 를 통해 디코딩 하여 사용한다.
1
2
3
4
5
6
|
request.setCharacterEncoding("utf-8");
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
String oper = request.getParameter("oper");
oper = URLDecoder.decode(oper, "utf-8");
String result="";
|
cs |
3) jQuery.get() 통해 출력
get(url, {이름:값} , 결과페이지 출력 함수)
1
2
3
|
$.get(url, {num1:n1, num2:n2, oper:o}, function(data){
$("#resultLayout").html(data);
});
|
cs |
'Web > AJAX' 카테고리의 다른 글
[Ajax] Ajax 적용하기 - jQuery.ajax() 방식-GET/POST (0) | 2020.12.07 |
---|---|
[Ajax] Ajax 적용하기 - jQuery.load() : GET방식 (0) | 2020.12.07 |
[Ajax] Ajax 적용하기 - JSON 방식 (0) | 2020.12.07 |
[Ajax] Ajax 적용하기 - xml방식 (0) | 2020.12.05 |
[Ajax] Ajax 적용하기 - POST방식 (0) | 2020.12.05 |
댓글