web服务 异步调用

pwalai 2008-04-26 04:25:44
今天看了个用js调用web服务的帖子
想把它改成异步调用,可是没有反应,哪个帮我看看

<script language=javascript>
var strUrl="http://www.ayandy.com/Service.asmx";
var strSoapRequestXml='<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getWeatherbyCityName xmlns="http://tempuri.org/"> <theCityName>昆明</theCityName> <theDayFlag>Today</theDayFlag> </getWeatherbyCityName> </soap:Body> </soap:Envelope>';

function test(strUrl,strSoapRequestXml){
try
{
var objXMLHttp = new ActiveXObject("MSXML2.XMLHTTP.5.0");
objXMLHttp.open("Post",strUrl, true); //修改了这里第三个参数,另外第一个用post 还是get
objXMLHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
objXMLHttp.setRequestHeader("SOAPAction", "http://tempuri.org/getWeatherbyCityName");
objXMLHttp.send(strSoapRequestXml);

objXMLHttp.onreadystatechange = function () {//添加了状态改变事件
if (objXMLHttp.readyState == 4)
{
if(objXMLHttp.status==200)
{
alert(objXMLHttp.responseText);
}else
{
alert(objXMLHttp.statusText);
}

}
}//onreadystatechange

objXMLHttp.send(strSoapRequestXml); //send位置对吗?
}//try
catch(e){alert(e.description)}

test(strUrl,strSoapRequestXml);
}

</script>

...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pwalai 2008-04-27
  • 打赏
  • 举报
回复
自己解决了
pwalai 2008-04-26
  • 打赏
  • 举报
回复
自己顶哈
pwalai 2008-04-26
  • 打赏
  • 举报
回复
没人吗?
来帮我看看吧
pwalai 2008-04-26
  • 打赏
  • 举报
回复
还有 如果能实现的得到的是objXMLHttp.responseText
返回的是一个xml格式的字符串

可我用用xml dom的loadxml() 怎么读不进去

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧