【发布时间】: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 中执行了相同的代码,这给了我同样的问题,所以我认为问题出在我的代码或网站响应我的请求的方式上。
我们非常感谢任何建议。感谢大家的宝贵时间。
【问题讨论】: