2014-07-23 1 views
0

사실이 코드와 혼동 스럽습니다. weblogic 서버에서 실제로 작동하지만 jboss5 서버로 시도하면 작동하지 않습니다. 친절하게도 이 문제를 해결하도록 도와주세요.jboss 서버의 요청 매개 변수에 null 값을 가져 오는 XmlHttp를 사용하여 Ajax 호출을 수행합니다.

내 문제는 아약스 스크립트에서 XmlHttp를 사용하여 하나의 struts 액션을 호출하고 일부 매개 변수를 전달하는 것입니다. 스트럿츠 액션 클래스에서 매개 변수를 다시 가져 오려고하면 null 값을 반환합니다. 아약스 - SCRPT :

var params = (inpVal != '' && outVal != '' && oprAction != '') ? 'inReturn='+tmpStr+'&ouReturn='+outVal+'&Operation_Scr='+oprAction : null; 

XmlHttp.onreadystatechange = HandleResponseFromServer; 
     XmlHttp.open("POST", sUrl, true); 
     XmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
     XmlHttp.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-9"); 
     XmlHttp.send(params); 

내가 여기 PARAMS를 인쇄 할 경우

은, 모든 값이 완벽하게 갖추고 있습니다

이 내 코드입니다. 스트럿츠 설정 :

<action path="/ajax-action" 
      type="com.amgen.devis.gmat.util.AjaxAction" 
      name="StudyDesignAssignmentForm" input="/mainCDM.jsp" scope="request" validate="false"> 
       <forward name="success" path="/content/AjaxOutPut.jsp" contextRelative="true"/> 
</action> 

그리고 내 행동 클래스 : 여기 인쇄하는 경우 null 값이 발생할은

System.out.println("Operation Type: "+(String)request.getParameter("Operation_Scr")); 

이 널 (null) 값을 반환합니다.

친절히 도와주세요.

+1

왜'Content-Type'을 두 번 설정 하시겠습니까? 왜'application/x-www-form-urlencoded'을 그대로두고 작동하는지 테스트하지 않겠습니까? –

+0

감사합니다 @Buhake 신디, 지금은 잘 작동합니다. –

답변

0

Content-Type을 HTTP 요청 헤더에 두 번 설정했습니다. 이는 본질적으로 Content-Type을 수신 한 마지막 값으로 대체합니다. 내가 매개 변수 값에 charset 포함했다

XmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-9"); 
XmlHttp.send(params); 

참고 :

이 솔루션은 다음과 같이 Content-Type를 설정 사용하는 것입니다.

관련 문제