【问题标题】:with calling web services from javascript functions从 javascript 函数调用 Web 服务
【发布时间】:2011-11-16 10:21:59
【问题描述】:

在运行这些函数时,我正在调用这样的 Web 服务,通过它我必须生成会话 ID。 认为 url 是正确的
我想知道,我正在从 onreadystatechange 调用函数。它是否正确。 如果您有其他方式请回复。

函数 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); 

        }
    }
}

谢谢,

【问题讨论】:

    标签: javascript xml web-services


    【解决方案1】:

    我会将xmlhttpRequest.send(); 放在 onreadystatechange 函数之后

    此外,当您使用 GET 方法时,您会发送一个空值,该值为零

    【讨论】:

    • 我认为这很有意义。因为同样认为我已经使用其他语言,即 java 和 Titanium。
    猜你喜欢
    • 1970-01-01
    • 2014-02-12
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 2011-12-09
    • 1970-01-01
    相关资源
    最近更新 更多