【问题标题】:Web Service call using javascript returns nothing in responseXML使用 javascript 的 Web 服务调用在 responseXML 中不返回任何内容
【发布时间】:2011-05-04 14:15:32
【问题描述】:

我在这个论坛上看到过几次同样的问题,我已经应用了建议的答案,但我仍然遇到问题。这个问题是,当我使用 javascript 调用 Web 服务时,响应返回为空,而我成功接收到在任何浏览器中调用 Web 服务的数据(有效的 XML 文档)。

这是我在 HTML 页面中的 javascript 代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/xml">
<title> MY HTML page        </title>


<script language="JavaScript">
function doWebSvce()
{

    if (window.XMLHttpRequest) { 
    xhttp=new XMLHttpRequest();

    }
    else if (window.ActiveXObject) { 
         XObject("Microsoft.XMLHTTP"); 
         xhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

var url = "http://www.webservicex.net/stockquote.asmx/GetQuote?symbol=IBM"; 
xhttp.open("GET", url, true); 
xhttp.onreadystatechange = getData; 
xhttp.send("");     

}//end doWebSvce

function getData() 
{ 
if (xhttp.readyState == 4)  
{ 

alert("2nd in getData... \r\xhttp.readyState = "+ xhttp.readyState +"  \r\n  
      xhttp.status= "+ xhttp.status +
 " \r\n  responseXML = "+ xhttp.responseXML + " \r\n   responseText= "+  
      xhttp.responseText);

    var myXml=xhttp.responseXML;

     //.... do stuff with myXML variable....
 }

警报语句显示:“getData 中的第 2... xhttp.readystate = 4 xhttp.status = 0 xhttp.responseXML = null responseText = 空白"

正如我所说,我可以点击 url 中指示的 Web 服务并毫无问题地接收 XML 文档。

我在两台不同的机器上同时在 FireFox 和 IE 中执行了相同的代码,这给了我同样的问题,所以我认为问题出在我的代码或网站响应我的请求的方式上。

我们非常感谢任何建议。感谢大家的宝贵时间。

【问题讨论】:

    标签: javascript web-services


    【解决方案1】:

    您似乎正在尝试发出跨站点请求,这就是问题所在。 XmlHttp 无法进行跨站请求。

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多