크롬에서 ajax 구동이 잘안됍니다.
- 작성자 :
- 신*민
- 작성일 :
- 2017-01-06 15:11:21
- 조회수 :
- 1,508
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
//Ajax Object 생성
function CreateXMLRequest(){
try{
var xmlRequest = null;
if (window.ActiveXObject) {
alert("11")
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
alert("11")
xmlRequest = new XMLHttpRequest();
}
}catch(e){
try{
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e1){
xmlRequest = false;
}
}
return xmlRequest;
}
//선택박스 값 가져오기
function fn_getSelectValue(){
var optCode = document.getElementById("mediDivLv1").value;
if(optCode != ""){
CreateXMLRequest();
var pageUrl ="/ar/ce/arcecr01_L3.do";
var parameters = "grpCd=AR160&optCode=" + optCode;
alert("33")
xmlRequest.Open("POST", pageUrl, true );
alert("44")
xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlRequest.setRequestHeader("Cache-Control","no-cache, must-revalidate");
xmlRequest.setRequestHeader("Pragma","no-cache");
alert("55")
//xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlRequest.onreadystatechange = function(){resultMessage()};
xmlRequest.send(parameters);
}else{
return;
}
}
//아작스 호출 처리후 메세지처리
function resultMessage(){
alert("66")
if(xmlRequest.readyState==4){
if(xmlRequest.status==200){
var obj = document.getElementById("div_mediDivLv2");
var tempHtml = trim(xmlRequest.responseText);
obj.innerHTML = "";
obj.innerHTML = tempHtml;
if(document.getElementById("mda_2").value != ""){
document.getElementById("mediDivLv2").options.selectedIndex = document.getElementById("mda_2").value;
document.getElementById("mda_2").value ="";
}
}
}
}
해당부분에서 ie11 에서 해당소스부분이있는 페이지를 호출하면 alert("11")이 나온이후로 해당객체가 잘구동이 돌아가는데, 크롬에서는
xmlRequest = new XMLHttpRequest(); 이부분으로 분기가 돼
fn_getSelectValue() 이부분으로 들어가면 alert("33") 까지 찍히고 그담 소스부분이 돌아가질 않습니다.
xmlRequest.Open("POST", pageUrl, true ); 이부분부터 소스가 왜 실행이 안될까요? 지금 프로젝트에서 저혼자라 질문할때가 없네요
답변주시면 고맙겠습니다.
function CreateXMLRequest(){
try{
var xmlRequest = null;
if (window.ActiveXObject) {
alert("11")
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
alert("11")
xmlRequest = new XMLHttpRequest();
}
}catch(e){
try{
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e1){
xmlRequest = false;
}
}
return xmlRequest;
}
//선택박스 값 가져오기
function fn_getSelectValue(){
var optCode = document.getElementById("mediDivLv1").value;
if(optCode != ""){
CreateXMLRequest();
var pageUrl ="/ar/ce/arcecr01_L3.do";
var parameters = "grpCd=AR160&optCode=" + optCode;
alert("33")
xmlRequest.Open("POST", pageUrl, true );
alert("44")
xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlRequest.setRequestHeader("Cache-Control","no-cache, must-revalidate");
xmlRequest.setRequestHeader("Pragma","no-cache");
alert("55")
//xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlRequest.onreadystatechange = function(){resultMessage()};
xmlRequest.send(parameters);
}else{
return;
}
}
//아작스 호출 처리후 메세지처리
function resultMessage(){
alert("66")
if(xmlRequest.readyState==4){
if(xmlRequest.status==200){
var obj = document.getElementById("div_mediDivLv2");
var tempHtml = trim(xmlRequest.responseText);
obj.innerHTML = "";
obj.innerHTML = tempHtml;
if(document.getElementById("mda_2").value != ""){
document.getElementById("mediDivLv2").options.selectedIndex = document.getElementById("mda_2").value;
document.getElementById("mda_2").value ="";
}
}
}
}
해당부분에서 ie11 에서 해당소스부분이있는 페이지를 호출하면 alert("11")이 나온이후로 해당객체가 잘구동이 돌아가는데, 크롬에서는
xmlRequest = new XMLHttpRequest(); 이부분으로 분기가 돼
fn_getSelectValue() 이부분으로 들어가면 alert("33") 까지 찍히고 그담 소스부분이 돌아가질 않습니다.
xmlRequest.Open("POST", pageUrl, true ); 이부분부터 소스가 왜 실행이 안될까요? 지금 프로젝트에서 저혼자라 질문할때가 없네요
답변주시면 고맙겠습니다.
A
안녕하세요.
표준프레임워크 센터입니다.
- ajax 통신시 센터측에 jQuery이용한 ajax를 가이드 하고 있습니다.
- XMLHttpRequest관련 하단가이드 MSDN를 참고하세요.
https://msdn.microsoft.com/en-us/library/ms535874(v=vs.85).aspx
감사합니다.
표준프레임워크 센터입니다.
- ajax 통신시 센터측에 jQuery이용한 ajax를 가이드 하고 있습니다.
- XMLHttpRequest관련 하단가이드 MSDN를 참고하세요.
https://msdn.microsoft.com/en-us/library/ms535874(v=vs.85).aspx
감사합니다.