문제

설정:
문제의 프로그램은 호출자와 동일한 패키지에 포함된 대상 프로시저에 대한 AJAX 호출을 통해 양식 데이터를 게시하려고 합니다.이는 보안 연결(HTTPS)을 사용하는 사이트에 대해 수행됩니다.여기에 사용된 기술은 PLSQL 그리고 도장 자바스크립트 라이브러리.개발 도구는 기본적으로 텍스트 편집기.

코드 조각:

> function testPost() {  
>>    dojo.xhrPost( {  
             url: ''dr_tm_w_0120.test_post'',  
             form: ''orgForm'',  
             load: testPostXHRCallback,  
             error: testPostXHRError  
            });  
      }  

> function testPostXHRCallback(data,ioArgs) {  
>>          alert(''post callback'');  
          try{  
          dojo.byId("messageDiv").innerHTML = data;  
          }  
          catch(ex){  
                if(ex.name == "TypeError")  
                {  
                  alert("A type error occurred.");  
                }  
          }   
          return data;  
       }         
> 
function testPostXHRError(data, ioArgs) {    
>>          alert(data);  
          alert(''Error when retrieving data from the server!'');  
          return data;  
       }    

문제:
전체 사용자 기반이 사용하는 IE6을 사용하는 경우 서버에서 다시 전송되는 응답은 404 오류입니다.

관찰:
이 프로그램은 Firefox에서 잘 작동합니다.
호출 프로시저는 동일한 패키지 내의 어떤 프로시저도 대상으로 지정할 수 없습니다.
호출 절차는 외부 사이트(http, https 모두)를 대상으로 할 수 있습니다.
양식 데이터의 게시물이 아닌 패키지의 다른 AJAX 호출은 정상적으로 작동합니다.
검색해봤는데 인터넷 숙련된 팀원들과 협의했지만 문제를 만족스럽게 해결하는 방법을 찾지 못했습니다.
*시험을 마친 Q&A Dojo 지원 포럼에 가보세요.

질문:
어떤 문제 해결 기술을 권장합니까?
HTTPS 분석을 위해 어떤 문제 해결 도구를 권장합니까?
문제가 무엇인지에 대한 가설이 있나요?
총체적인(나쁜) 해킹이 아닌 해결 방법에 대한 아이디어가 있습니까?

에드.해결책
lomaxx, 고마워요 바이올리니스트 팁.그것을 얻고 디버깅 도구로 사용하는 것이 얼마나 멋진 일인지 전혀 모릅니다.시작한 후 이것이 내가 찾은 것과 그것을 고친 방법입니다(적어도 단기적으로):

> ef Fri, 8 Aug 2008 14:01:26 GMT dr_tm_w_0120.test_post: SIGNATURE (parameter names) MISMATCH VARIABLES IN FORM NOT IN PROCEDURE: SO1_DISPLAYED_,PO1_DISPLAYED_,RWA2_DISPLAYED_,DD1_DISPLAYED_ NON-DEFAULT VARIABLES IN PROCEDURE NOT IN FORM: 0

서버에서 해당 메시지를 본 후 Fiddler를 좀 더 살펴보고 그로부터 무엇을 더 배울 수 있는지 알아보았습니다.웹 양식의 값을 표시하는 WebForms 탭이 있음을 발견했습니다.당신은 그것을 모르시겠습니까?xxx_DISPLAYED_" 위의 필드가 그 안에 있었습니다.

웹에서 해당 필드를 명시적으로 생성하지 않았기 때문에 이러한 필드가 존재하는 이유를 아직 잘 모르겠습니다. PLSQL 암호.그러나 이제는 대상 프로시저가 올바르게 작동하려면 매개변수로 이를 포함해야 한다는 것을 이해합니다.다시 말하지만 이는 다음의 경우에만 해당됩니다. IE6 저에게는 Firefox가 잘 작동했기 때문입니다.

글쎄요, 단기적인 답변과 해킹으로 문제를 해결할 수 있습니다.이 영역에 대한 좀 더 많은 작업을 통해 여기서 진행되는 기본 사항을 더 잘 이해할 수 있기를 바랍니다.

도움이 되었습니까?

해결책

첫 번째 호출 포트는 발사되는 것입니다 바이올리니스트 브라우저로 들어오고 나가는 데이터를 분석합니다.

헤더, 실제로 호출되는 URL 및 AJAX 메소드에 전달되는 매개변수(있는 경우)를 살펴보고 서버에 도달하기 전에 모두 괜찮아 보이는지 확인하십시오.

모든 것이 괜찮아 보인다면 로깅이나 AJAX 메서드 추적을 통해 실제로 서버에 도달하는지 확인할 수 있는 방법이 있습니까?

에드:제가 시도할 또 다른 방법은 테스트 페이지를 구성하여 비-ajax 기반 호출을 사용하여 서버에서 AJAX 메서드를 호출하고 피들러에서 트래픽을 분석하고 두 가지를 비교하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top