您的位置:首页 > Web前端 > JavaScript

文章标题

2016-06-12 14:28 423 查看
最近使用js调用webservice,代码就不需要分析了,就是new出一个WebService,然后调用即可

function(){
var me = this,
P = this.P;
var cy = me.chainSelect.val();
var day=new Date().format("yyyy-MM-dd");
var headers = {
"Accept": "application/json;",
"Content-Type": "application/json;",
};

var webService = new WebService("http://localhost://ws/AppToHmmsCompeteService?wsdl", headers);
var request='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:app="AppToHmmsCompeteService">'
+'<soapenv:Header/>'
+'<soapenv:Body>'
+'<app:searchAppCompete>'
+'<arg0>'+shopid+'</arg0>'
+'<arg1>'+cy+'</arg1>'
+'<arg2>'+day+'</arg2>'
+'</app:searchAppCompete>'
+'</soapenv:Body>'
+'</soapenv:Envelope>';

webService.POST(request, function(result) {
var data=xmlToJson(parseXml(result));
var result=data["soap:Envelope"]["soap:Body"]["ns2:searchAppCompeteResponse"]["return"];
if($.type(result)=="undefined" || result.length==0 || result==null){
$(".portion_riportion").html("");
$(".pinpailuru").html("");
showinfoCommon("没有得到日数据", 3000);
return;
}
if(result.length!=0){
}else{
}
}, function(error) {

});

}


/**
* websevice
*/
function WebService(e, t) {
this.headers = t;
this.serviceUrl = e
}
WebService.prototype.CallService = function(e, t, n, r) {
var i = new XMLHttpRequest;
i.onreadystatechange = function() {
switch (i.readyState) {
case 0:
r("request not initialized.");
break;
case 4:
if (i.status >= 200 && i.status < 300) {
n(i.responseText)
} else {
r("Error calling service. Status code: " + i.status)
}
break
}
};
i.open(e, this.serviceUrl, true);
for (property in this.headers) {
i.setRequestHeader(property, this.headers[property])
}
i.send(t)
};
WebService.prototype.GET = function(e, t) {
this.CallService("GET", null, e, t)
};
WebService.prototype.POST = function(e, t, n) {
this.CallService("POST", e, t, n)
}

function parseXml(xml) {
var dom = null;
if (window.DOMParser) {
try {
dom = (new DOMParser()).parseFromString(xml, "text/xml");
}
catch (e) { dom = null; }
}
else if (window.ActiveXObject) {
try {
dom = new ActiveXObject('Microsoft.XMLDOM');
dom.async = false;
if (!dom.loadXML(xml)) // parse error ..
window.alert(dom.parseError.reason + dom.parseError.srcText);
}
catch (e) { dom = null; }
}
else
alert("oops");
return dom;
}
// Changes XML to JSON
function xmlToJson(xml) {
// Create the return object
var obj = {};

if (xml.nodeType == 1) { // element
// do attributes
if (xml.attributes.length > 0) {
obj["@attributes"] = {};
for (var j = 0; j < xml.attributes.length; j++) {
var attribute = xml.attributes.item(j);
obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
}
}
} else if (xml.nodeType == 3) { // text
obj = xml.nodeValue;
}

// do children
if (xml.hasChildNodes()) {
for(var i = 0; i < xml.childNodes.length; i++) {
var item = xml.childNodes.item(i);
var nodeName = item.nodeName;
if (typeof(obj[nodeName]) == "undefined") {
obj[nodeName] = xmlToJson(item);
} else {
if (typeof(obj[nodeName].length) == "undefined") {
var old = obj[nodeName];
obj[nodeName] = [];
obj[nodeName].push(old);
}
obj[nodeName].push(xmlToJson(item));
}
}
}
return obj;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript