我想调用一个web服务使用javascript.But它显示一个错误,如 selectSingleNode()不是一个方法。我试图在Mozilla Firefox中。当我更改XMLHttpRequest到ActiveXObject.here我添加我的源代码,我在Firefox中尝试。使用Javascript调用Webservice
<script language="javascript">
// Web Service functionality
// Global vars
var xmlDoc = null;
var _serviceCallback = null;
// Calls web service, web service url and parms, and callback function or null must be provided.
// Callback function receives a true or false based on success of call to host
function callWebService(url, callback)
{
_serviceCallback = callback;
if(xmlDoc == null)
{
// xmlDoc = new XMLHttpRequest();
xmlDoc = new XMLHttpRequest();
}
xmlDoc.onreadystatechange = stateChange; //callback for readystate
xmlDoc.async = true; //do background processing
//xmlDoc.load(url);
xmlDoc.open('GET', url);
xmlDoc.send();
//var doc= xmlDoc.responseXML;
}
// Updates readystate by callback
function stateChange()
{
if (xmlDoc.readyState == 4)
{
var err = xmlDoc.parseError;
var result = false;
var nd;
if(err.errorCode == 0)
{
nd = xmlDoc.selectSingleNode("//envelope/date_time");
if(nd.text != "")
result = true;
}
// perform callback if provided
if(_serviceCallback != null)
_serviceCallback(result, nd == null ? "" : nd.text);
}
}
// Callback supplied to XMLHttpRequest call
function callbackTest(result, data)
{
obj = document.getElementById("txtOuput");
if(result)
obj.value = "Success " + data;
else
obj.value = "Web Service Call Failed";
}
</script>
<input type="button" onclick="callWebService('http://www.hendricksongroup.com/services/WebService.asmx/GetTime?input=Test', callbackTest)" value="Click" />
<input type="text" id="txtOuput"/>
请帮我...这已经杀了我8个小时......
它会更容易帮助,如果你把你的代码中的一个代码块,以使其更具可读性... – sblom 2010-03-31 04:02:50
是否有你的理由阻止使用已建立并经过测试的AJAX库(如jQuery)? – 2010-03-31 04:05:24
尽管大多数指向jquery等的非答案答案都是有意的,但理解这些东西如何工作是有价值的。这个问题很简单,答案也是如此。干杯。 – 2010-03-31 04:35:09