• JS调用webservice的通用函数


    var xmlhttp;
    var value = new Array();
    var variable = new Array();
    
    //Show Response MSG.
    function handleStateChange() {
        var h = document.getElementById( "Label1" );
        if ( xmlhttp.readyState == 4 ) {
            if ( xmlhttp.status == 200 ) {
                alert( xmlhttp.responseText );
                h.innerHTML = xmlhttp.responseText;
                //h.innerHTML=xmlhttp.responseXML;
            }
            else if ( xmlhttp.status == 404 ) {
                h.innerHTML = "<br>找不到请求的服务器资源!";
            }
        }
        else if ( xmlhttp.readyState == 0 ) {
            h.innerHTML = "<br>未初始化!";
        }
        else if ( xmlhttp.readyState == 1 ) {
            h.innerHTML = "<br>正在加载……!";
        }
        else if ( xmlhttp.readyState == 2 ) {
            h.innerHTML = "<br>已经加载完成!";
        }
        else if ( xmlhttp.readyState == 3 ) {
            h.innerHTML = "<br>正在和服务器交互";
        }
        else {
            h.innerHTML = xmlhttp.responseXML;
        }
    
    }
    
    //Get Request Data's length
    function getlen( str ) {
        var bytesCount = 0;
        for ( var i = 0; i < str.length; i++ ) {
            var c = str.charAt( i );
            if ( /^[\u0000-\u00ff]$/.test( c ) )   //匹配双字节
            {
                bytesCount += 1;
            }
            else {
                bytesCount += 2;
            }
        }
        return bytesCount;
    
    }
    
    
    //Create XMLHttpRequest Object
    function createXMLHttpRequest() {
    
        if ( window.ActiveXObject ) {
            xmlhttp = new ActiveXObject( "Microsoft.XMLHTTP" );
        }
        else if ( window.XMLHttpRequst ) {
            xmlhttp = new XMLHttpRequest();
        }
    }
    
    //send Request By HTTP POST
    
    function RequestByPost( method, variable, value, url, _Namespace ) {
        createXMLHttpRequest();
        var data;
        data = '<?xml version="1.0" encoding="utf-8"?>';
        data = data + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
        data = data + '<soap:Body>';
        data = data + '<' + method + ' xmlns="' + _Namespace + '">';
        for ( var i = 0; i < variable.length; i++ ) {
            data = data + '<' + variable[i] + '>' + value[i] + '</' + variable[i] + '>';
    
        }
        data = data + '</' + method + '>';
        data = data + '</soap:Body>';
        data = data + '</soap:Envelope>';
    
        xmlhttp.onreadystatechange = handleStateChange;
        xmlhttp.Open( "POST", url, true );
        xmlhttp.SetRequestHeader( "Content-Type", "text/xml; charset=utf-8" );
        xmlhttp.SetRequestHeader( "Content-Length", getlen( data ) );
        xmlhttp.SetRequestHeader( "SOAPAction", _Namespace + method );
        xmlhttp.Send( data );
        alert( data );
    }
    
    
    //CallHelloWorld!
    function SayHello_onclick() {
        //alert(document.getElementById('YourName').value);
        RequestByPost( "HelloWorld", new Array( "msg" ), new Array( document.getElementById( 'YourName' ).value ), "WebService.asmx", "localhost/" );
    }
    //WeatherReport Test:
    function Button2_onclick() {
        RequestByPost( "getWeatherbyCityName", new Array( "theCityName" ), new Array( document.getElementById( 'CityName' ).value ), "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx", "http://WebXml.com.cn/" );
    }
    联盟快卖 商人,生意人,待创业人士在此可以共赢互利 期待你的加入 群号:140809277
  • 相关阅读:
    js中replace的正则替换
    ios沙盒路径
    Android开源框架
    小知识点
    __NSCFConstantString && __NSPlaceholderDictionary
    iq 格式分析
    C 函数
    Xcode报错
    XMPP Server
    H5网站借鉴
  • 原文地址:https://www.cnblogs.com/yexinw/p/2014715.html
Copyright © 2020-2023  润新知