JS直接访问WebService(来自于网络)
直接上代码
var URL = "http://localhost:2242/Test/WS.asmx";
//在这处我们拼接
var data;
data = '<?xml version="1.0" encoding="utf-8"?>';
data = data + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">';
data = data + '<soap12:Body>';
data = data + '<GetUpdateTime xmlns="http://tempuri.org/" />';
data = data + '</soap12:Body>';
data = data + '</soap12:Envelope>';
//创建异步对象
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST", URL, false);
xmlhttp.SetRequestHeader("Content-Type", "application/soap+xml");
xmlhttp.Send(data);
alert(xmlhttp.responseText);
不过有个问题,返回数据的类型是这样子滴:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">20111212164723592</string>
想直接调取里面的这个返回串,需要自己想办法了。最笨的方法就是在WEBSERVICE中给返回值前后加一个符号,比如'$'
这样JS端可以通过这两个所在String中的Index截取出来中间这串,真的是个笨方法哦