我有一些令人困惑的问题,我需要帮助我已经写了一些代码初始化xmlHttpRequest发送请求和接收一些响应,这是我的代码:
function initRequest(url)
{
if(window.XMLHttpRequest){
req=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
isIE=true;
req=new ActiveXObject("Microsoft.XMLHTTP");
}
}
function validateUser()
{
var sPath = window.location.pathname;
var sAddress = sPath.substring(0,sPath.lastIndexOf('/') + 1);
var url=sAddress+"WebService2.asmx?op=HelloWorld";
initRequest(url);
req.onreadystatechange=processRequest;
req.open("GET",url,true);
req.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
req.send(null);
}
function processRequest()
{
if(req.readyState==4){
if(req.status==200)
{
var message="invalid";
alert(req.responseText);
//message=req.responseXML.getElementsByTagName("valid")[0].childNodes[0].nodeValue;
//SetMessage(message);
}
else
{
alert(req.statusText);
}
}
}
我的问题是:我不知道在哪里/如何从我指定的Url中获得适当的XML响应,我在WebService的HelloWorld方法中使用Respose对象,但结果是页面的一些DOM架构来调用该方法……
每一条线索都将不胜感激
发布于 2009-05-13 07:58:54
这个问题有两种可能的答案..
我将采用第二种方法,并再次建议您研究jquery,因为它为您完成了所有繁重的工作-并提供了大量其他好处。然后,您可以自由地开发您的应用程序,而不是花费数小时摆弄其他人已经解决的问题。
附注:我承认还有其他的javascript库,比如'prototype',但我发现jquery可以满足我所有的需求,而且还包含在ASP.NET MVC框架中,这让它变得轻而易举。
发布于 2009-05-13 07:59:17
如果不想让DOM而是responseXML作为字符串,那么可以使用responseText而不是responseXML。
此外,请考虑使用prototype或jquery,而不是手动编写。
如果响应与您预期的不同,则可能是您错误地使用了该服务器的api。我建议阅读有关它的文档或tcpdumping数据交换。
您未指定要尝试连接到的服务器,因此我们无法在其api方面为您提供帮助。
发布于 2009-05-13 08:35:18
以下是有关使用XMLHttpRequest的教程:
Ajax Tutorial
另外,请注意,在英语中,通常只有句子中的第一个单词、专有名词(如姓名)和人称代词"I“才应该以大写字母开头。
https://stackoverflow.com/questions/856601
复制相似问题