2011-11-16 87 views
0

运行这些函数时,我调用了这样的Web服务,通​​过它我必须生成会话Id。 考虑URL是正确的
我想知道,我从onreadystatechange.wheteher调用函数是正确的方式。 如果您有其他方式,请回复。
调用来自javascript函数的web服务

功能的getData(_url){

var xmlhttpRequest = null; 
    xmlhttpRequest = new XMLHttpRequest(); 
    xmlhttpRequest.open("GET", _url, true); 
    xmlhttpRequest.send(); 

    xmlhttpRequest.onreadystatechange = function() { 
     //alert(xmlhttpRequest.status); 
     if(xmlhttpRequest.readyState == 4)// 4: The Request is complete 
     { 

      var request = xmlhttpRequest.responseXML; 
      var items = request.getElementsByTagName("id")[0].firstChild.nodeValue; 

      var hashcode = GetHashCode(passwordvalue + items); 
      var strUrl = commonURL + 'data/' + userName + ';' + hashcode; 
      data1(strUrl, 'tagname');//calling another function to generate session id 
     } 
    } 

} 


function data1(_url, _tagName) 
{ 
    var xmlhttpRequest = null; 
    xmlhttpRequest = new XMLHttpRequest(); 
    xmlhttpRequest.open("GET", _url, true); 
    xmlhttpRequest.send(); 
    xmlhttpRequest.onreadystatechange = function() 
    { 
     if(xmlhttpRequest.readyState == 4 && xmlhttpRequest.status==200)// 4: The Request is complete 
     { 

      var request = xmlhttpRequest.responseXML; 
      //alert('items .....= '+ request); 
      var sessionid = request.getElementsByTagName(_tagName)[0].firstChild.nodeValue; 
      alert('session ID='+sessionid); 

     } 
    } 
} 

感谢,

回答

0

我会在使用你发送一个空值GET方法你的onreadystatechange函数后放置xmlhttpRequest.send();

同样,持有零

+0

是的我也完成了。 –

+0

我认为dosent是有意义的,因为我认为我已经使用其他语言,即java和Titanium。 –