본문 바로가기
WEB/classic ASP

[ASP] ajax Form 전송하기

by baam 2022. 5. 20.

한 번에 전송해야 할 input 태그가 대략 300개쯤 되는 상황이었다. 맘 같아선 Json Object로 깔끔하게 만들어서 보내버리고 싶지만, Classic ASP라서 Request 받을 때도 번거롭고, 보낼때도 수동으로 JSON 형태의 단순 String 형태의 QueryString을 만들어 JSON으로 보내야 하기 때문에 그냥 폼을 QueryString으로 만들어 보내는걸로 선택했다.

이때, 자동으로 데이터를 처리해주는 processData는 꼭 false로 바꿔주어야한다.

 

function funcSubmit(mode){
	
    var queryString = $("form[name=frm]").serialize();

    $.ajax({
        type : "post",
        url : "ajaxEvaluation.asp",
        data : queryString,
        contentType : 'application/x-www-form-urlencoded; charset=UTF-8',
        enctype : 'multipart/form-data',
        processData : false,
        cache : false,
        error : function(request, status, error) {
            console.log("code:" + request.status + ", message: " + request.responseText + ", error:" + error);
        },
        success : function(data) {
            console.log(data);
            if(data == "Y") {
                if (mode == "save"){
                    alert('저장되었습니다.');
                }
                else if(mode == "submit"){
                    alert('제출이 완료되었습니다.');
                    location.href = '/';
                }

            }
        }
    });
}

 

 

내가 Post 전송한 데이터는 반복문으로 돌려서 간편하게 Request를 받을 수 있는 경우라 ASP의 Excute 기능을 사용해서 Request를 받았다. 사용한 ajaxEvaluation.asp 페이지의 Excute 사용 부분도 같이 적어둔다.

 

Dim tidx(42)
Dim eval1(42)
Dim eval2(42)
Dim eval3(42)
Dim review(42)

For i = 1 To 42
    Execute( "tidx("& i &") =  Trim(Request(""t"& i &"""))" )
    Execute( "eval1("& i &") =  Trim(Request(""t"& i &"_e1""))" )
    Execute( "eval2("& i &") =  Trim(Request(""t"& i &"_e2""))" )
    Execute( "eval3("& i &") =  Trim(Request(""t"& i &"_e3""))" )
    Execute( "review("& i &") =  Trim(Request(""t"& i &"_review""))" )
Next

댓글