⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webservice.js

📁 这是javascript高级程序设计的源码
💻 JS
字号:

function WebService() {
    this.action = " ";
    this.url = "";
}

WebService.prototype.buildRequest = function () {
    return "";
};

WebService.prototype.handleResponse = function (oSOAP) {

};

WebService.prototype.send = function () {

    if (isMoz) {        
        try {
            netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
        } catch (oError) {
            alert(oError);
            return false;
        } 
    }
    
    var oRequest = new XMLHttpRequest;
    oRequest.open("post", this.url, false);
    oRequest.setRequestHeader("Content-Type", "text/xml");
    oRequest.setRequestHeader("SOAPAction", this.action);
    oRequest.send(this.buildRequest());
    if (oRequest.status == 200) {
        return this.handleResponse(oRequest.responseText);
    } else{
        throw new Error("Request did not complete, code " + oRequest.status);
    }
};


function TemperatureService() {
        WebService.apply(this);
        this.url = "http://services.xmethods.net:80/soap/servlet/rpcrouter";
        this.zipcode = "";
}

TemperatureService.prototype = new WebService;

TemperatureService.prototype.buildRequest = function () {
    var oBuffer = new StringBuffer();
    
    oBuffer.append("<soap:Envelope xmlns:n=\"urn:xmethods-Temperature\" ");
    oBuffer.append("xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" ");
    oBuffer.append("xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" ");
    oBuffer.append("xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" ");
    oBuffer.append("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
    oBuffer.append("<soap:Body soap:encodingStyle=");
    oBuffer.append("\"http://schemas.xmlsoap.org/soap/encoding/\">");
    oBuffer.append("<n:getTemp><zipcode xsi:type=\"xs:string\">");
    oBuffer.append(this.zipcode);
    oBuffer.append("</zipcode></n:getTemp></soap:Body></soap:Envelope>");
    
    return oBuffer.toString();
};

TemperatureService.prototype.handleResponse = function (sResponse) {
    var oRE = /<return .*?>(.*)<\/return>/gi;
    oRE.test(sResponse);
    return parseFloat(RegExp["$1"]);
};


TemperatureService.prototype.webServiceSend = TemperatureService.prototype.send;
TemperatureService.prototype.send = function (sZipcode) {
        this.zipcode = sZipcode;
        return this.webServiceSend();
};


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -