直接上代碼
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截取出來中間這串,真的是個笨方法哦