javascript - 使用 Javascript 调用 Web 服务

标签 javascript web-services

我正在尝试使用 javascript 调用 Web 服务。但它显示了一个错误,例如 selectSingleNode() 不是一种方法。我正在 mozilla firefox 中尝试它。当我将 XMLHttpRequest 更改为 ActiveXObject 时,它在资源管理器中完美工作。这里我添加我在 firefox 中尝试过的源代码。

<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 个小时的时间...

最佳答案

我建议使用 jquery 库。它有一些非常灵活的 get、put 和 ajax 调用机制。它适用于所有浏览器,并且有大量教程和支持论坛可以帮助您解决问题

关于javascript - 使用 Javascript 调用 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2550417/

相关文章:

Javascript:到日期的毫秒数

javascript - 使用 Node.js/Express 访问 AJAX POST 数据

c# - WCF Web 服务无法从证书中获取私钥

node.js - NODE-SOAP 错误处理

c# - 加密 WCF 消息密码

javascript - 从渲染元素加载 JavaScript 状态

Javascript - 未捕获的类型错误 : Property '$' of object [object Object] is not a function

javascript - 加载许多 YouTube 视频的最佳方式是什么?

java - 获取带有 Json 响应的请求?

java - 无法显示带有括号的对象的结果,Web 服务示例