app.asp
1
2
3
4
5
6
7
8
9
10
11
|
<%
Dim id : id = Request.Form("id")
Dim pw : pw = Request.Form("password")
Dim result : result = id & pw
Response.Write("{""result1"":" & result & ",""result2"":""responseOK""}")
Response Sample(가독성을 위해서 공백을 넣었지만 위 라인 처럼 공백을 없애야한다.) :
Response.Write("{" "key1" ":" & value1 & "," "key2" ":" & value2 & "}")
Response.Write("{" & key1 & ":" & value1 & "," & key2 & ":" & value2 & "}")
%>
|
cs |
참고 : ajax에서 POST로 보낸 값을 Request.Form으로 받고, Response.Write로 응답한다. 응답은 이런식으로 JSON 형태로 일일히 만들어준다.
참고 : 변수가 아닌 문자열 구간은 일일히 저렇게 다 ""로 감싸주지 않아도 된다. 혹시 몰라서 변수명을 전부 감싸주긴 했지만...
apply.asp
<!DOCTYPE html>
<html lang="ko" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<input type="text" name="id" id="id">
<input type="password" name='password' id='password'>
<input type="button" name="send" id="send" value="전송" onclick="sendButton()">
<script type="text/javascript">
sendButton = () => {
var userId = document.getElementById('id').value;
var userPw = document.getElementById("password").value;
// QueryString 형태로 만들어 jQuery ajax data에 실어 보낸다.
// 기본적으로 QueryString을 Object로 만들어 보내는데,
// 이를 인식하지 못 하는 Classic ASP 에서는 수동으로 단순 QueryString을 만들어 보내야한다.
// 따라서, processData를 false로 바꾼다.
var queryString = `id = ${userId} & password = ${userPw}`;
$.ajax({
url : '/tree/app.asp',
method : 'POST',
processData : false,
contentType : 'application/x-www-form-urlencoded; charset=UTF-8',
cache : false,
data : queryString,
success : (res) => {
console.log(res);
}, error : (res) => {
console.log(res);
}
});
};
</script>
</body>
</html>
참고 : ajax에서 보낼 때 data에 { key1 : value1, key2 : value2 } 로 적으면 jQuery가 기본적으로 QueryString으로 만들어 보내는데, value가 객체이거나, 파일이어도 보낼 수 있도록 Object로 만들어 보낸다. 하지만 Classic ASP는 이를 이해하지 못 하기 때문에 수동으로 JSON 형태의 단순 String 형태의 QueryString을 만들어 JSON으로 보내야 하기 때문에 자동으로 데이터를 처리해주는 processData를 false로 바꿔줘야한다. 단, 이 방법은 파일전송을 하지 않는 단순한 String 데이터만 다루는 경우에만 가능하다. 뭐 어차피 Classic ASP 같은 구닥다리 아니면 이런 방법 필요도 없고, Classic ASP는 구닥다리라 파일전송 하려면 DEXT같은 또 다른 ActiveX 구닥다리를 붙여 쓸 것이기 때문에... 파일 전송할 때 JSON은 어쩌지??? 하는 고민은 하지 않아도 될 것 같다.
결과
'Network' 탭에서 'Headers' 맨 아래로 내려보자. app.asp에 'Form Data'로 id : Green, password : DreamTrre라는 데이터를 실어 보낸 것이 확인된다. 그리고 app.asp에 가서 콘솔창에 보이는 response를 JSON으로 받아왔다.
'개발자 > .NET' 카테고리의 다른 글
Classic ASP 배열 길이 구하기 Length 함수 (0) | 2020.11.15 |
---|---|
Classic ASP 페이지 뒤로가기 중복 수행 방지 (0) | 2020.11.15 |
Classic ASP Server.CreateOjbect("ADODB.Command") 사용 (0) | 2020.11.06 |
Classic ASP PreparedStatement 사용법 (0) | 2020.11.06 |
Classic ASP SQL 설정을 위한 Enum (CommandTypeEnum, ExecuteOptionEnum) (0) | 2020.11.06 |