2012-05-14 3 views
0

다음 코드에 대한 도움이 필요합니다. 문제는 마지막 xmlhttp.open 만 트리거하는 것입니다. 아래 코드를 참고하십시오. xmlhttp.open을 사용하여 2 개의 다른 URL 받기

<script type="text/javascript"> 
function loadXMLDoc(obj){ 
    var xmlhttp; 
    var flag; 
    var mycode; 
    mycode = obj; 

    if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    }else{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function(){ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
    } 
    } 
    flag = document.getElementById(mycode); 
    if (flag.value == "Uncall") { 
    flag.value = "Call Patient"; 
    document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Called</font></b>";   
    }else{ 
    flag.value = "Uncall"; 
    document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Calling..</font></b>"; 
    **xmlhttp.open("GET","http://1.1.1.1/callnumber.cgi?"+mycode,true); 
    xmlhttp.send(); 
    xmlhttp.open("GET","http://2.2.2.2/displaynumber.php?"+mycode,true); 
    xmlhttp.send();** 
    } 
} 
</script> 

같은 요청 객체를 재사용하지 마십시오 일부 입력

+0

당신이거야 SE는 [은'open' 방법에 대한 설명서 (http://www.w3.org/TR/XMLHttpRequest/#the-open-method) 읽으면 것들 중 하나가 이전 송신을 취소합니다. –

답변

0
<script type="text/javascript"> 
function loadXMLDoc(obj){ 
    var xmlhttp; 
    var flag; 
    var mycode; 
    mycode = obj; 
    flag = document.getElementById(mycode); 
    if (flag.value != "Uncall"){ 
     loadXMLDocCall(obj,"http://1.1.1.1/callnumber.cgi?"); 
     loadXMLDocCall(obj,"http://2.2.2.2/displaynumber.php?"); 
     flag.value = "Uncall"; 
     document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Calling..</font></b>"; 
     } else { 
     flag.value = "Call Patient"; 
     document.getElementById('myDiv'+mycode).innerHtml="<b><font color='#00FF00'>Called</font></b>"; 
     } 
} 
function loadXMLDocCall(obj,url){ 
    var xmlhttp; 
    var mycode; 
    mycode = obj; 

    if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    }else{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function(){ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
    } 
    } 
    xmlhttp.open("GET",url+mycode,true); 
    xmlhttp.send(); 
} 
</script> 
+0

"xmlhttp.open ("GET ", url + mycode, true);" URL의 가치는 무엇입니까? – ovdemonz

+0

나는 내 대답을 편집 했으므로 html의 코드를 변경하지 않아도된다 – Ciro

+0

화려한! 고마워요. – ovdemonz

2

을 주셔서 감사합니다.

최상의 조언은이 글을 직접 작성하지 않는 것입니다. 라이브러리를 찾고 구현을 사용하십시오. JQuery는 나쁘지 않습니다. 다른 옵션도 많이 있습니다.

+0

fyi, 코드는 기존 앱을 작동하고 편집합니다. 임무는 다른 URL에 동일한 변수를 전달하는 것입니다. 정말 도움이나 제안을 주셔서 감사합니다. 감사합니다 – ovdemonz

관련 문제