Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

DataSanp REST Application과 TMS Web Application간의 페이지 전환 문의 드립니다.


이병언

질문

   고수님들의 도움을 구하고자 합니다.

   델파이로 c/s만 개발하다가 웹 접근은 처음이라 시행착오를 많이 거치고 있습니다.

   서버는 DataSanp REST Application 으로 구성하였으며 클라이언트는 TMS Web Application을 구성하였습니다.

   로그인 페이지까지는 잘 호출이 되는데 메인 페이지로 호출이 안되어 이렇게 문의 드립니다.

   내용은 아래와 같습니다.

  

   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   + 서버는 DataSnap REST Application 으로 구성, TWebModule  을 사용
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   //-- 서버-1 : url root 접근시 로그인 페이지 호출
   if (Request.InternalPathInfo = '') or (Request.InternalPathInfo = '/') then begin
        Response.SendRedirect('http://localhost:8080/test/login.html'); ---> 정상적으로 클라이언트 브라우져에서 로그인 페이지 이동
    end

    //-- 서버-2 : 로그인 페이지에서 "로그인" 버튼 클릭시 권한이 있는 유저인지 판단
    if (Request.InternalPathInfo = '/test/login') then begin
        //-- 클라이언트 화면에서 유저 확인 파라미터 전달
        pno := Request.QueryFields.Values['No'];
        pid  := Request.QueryFields.Values['ID'];
        ppw := Request.QueryFields.Values['PW'];

        //-- 데이터베이스 검색함수 fn_response_user 호출, String 으로 응답
        Response.Content := fn_response_user(pno, pid, ppw); ---> 정상적으로 클라이언트 브라우져에 유저정보 전달
    end;

    //-- 서버-3 : 클라이언트 로그인 페이지에서 "로그인" 버튼 클릭시 메인 페이지 호출
    if (Request.InternalPathInfo = '/test/main') then begin
        Response.SendRedirect('http://localhost:8080/test/main.html'); ---> http request error 발생 클라이언트 브라우져에서 메인 페이지 이동 안됨  
    end;

   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   + 클라이언트는 TMS TWeb Application 으로 구성, TWebHttpRequest 컴포넌트 사용    
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    
    //-- 클라이언트 : "로그인" 버튼 클릭시
    prRequest_user; ---> 서버-2 로 파라미터 전달하고 호출 
    prRequest_main; ---> 서버-3 으로 메인 페이지 이동 호출 


        //-- 호출 예-1)
        HttpRequest.Command := httpPOST;
        HttpRequest.ResponseType := rtText;
        HttpRequest.URL := 'http://localhost:8080/test/main';
        HttpRequest.Execute(
            procedure(AResponse: String; ARequest: TJSXMLHttpRequest)
            begin
                if (ARequest.readyState = 4) or (ARequest.Status = 200) then begin
                    if (AResponse <> '') and (AResponse <> 'NO-DATA' then begin
                        //--
                    end;
                end;
            end
            );

        //-- 호출 예-2)
        HttpRequest.Command := httpPOST;
        HttpRequest.ResponseType := rtText;
        HttpRequest.URL := 'http://localhost:8080/test/main';
        HttpRequest.Execute;


    로그인 페이지는 정상적으로 Redirect가 정상적으로 먹히는데 메인 페이지는 안되는 이유를 모르겠습니다.
    

이 댓글 링크
다른 사이트에 공유하기

1 answer to this question

Recommended Posts

  • 0

페이지 호출이 잘 되는 곳과 그러지 않은 곳이  델파이 소스가 똑같다면 html 페이지를 확인 해보셔야 할 것 같습니다.

잘되는곳에  http://localhost:8080/test/main.html URL을 넣어 보시고 조건도 뺴고 실행해 보세요.

 

 

 

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.