刚开始接触ajax的时候好蛋疼啊,还是jquery用着爽。各位看官可以忽略此篇了。
调用:
RequestByPost(method,variable,value,url,_Namespace)
method:webservice的方法名
variable:webservice的方法的变量名数组
value:webservice的方法的变量的值的数组
url:请求的地址(asmx文件地址)
_Namespace:webservice的命名空间
<script language="javascript" type="text/javascript">
// <!CDATA[

//define
var xmlhttp;
var value=new Array();
var variable=new Array();

//Show Response MSG.
function handleStateChange()


{
var h=document.getElementById("Label1");
if(xmlhttp.readyState==4)

{
if(xmlhttp.status==200)

{
alert(xmlhttp.responseText);
h.innerHTML=xmlhttp.responseText;
//h.innerHTML=xmlhttp.responseXML;
}
else if(xmlhttp.status==404)

{
h.innerHTML="<br>找不到请求的服务器资源!";
}
}
else if(xmlhttp.readyState==0)

{
h.innerHTML="<br>未初始化!";
}
else if(xmlhttp.readyState==1)

{
h.innerHTML="<br>正在加载……!";
}
else if(xmlhttp.readyState==2)

{
h.innerHTML="<br>已经加载完成!";
}
else if(xmlhttp.readyState==3)

{
h.innerHTML="<br>正在和服务器交互";
}
else

{
h.innerHTML=xmlhttp.responseXML;
}
}

//Get Request Data's length
function getlen(str)


{
var bytesCount=0;
for (var i = 0; i < str.length; i++)


{
var c = str.charAt(i);
if (/^[\u0000-\u00ff]$/.test(c)) //匹配双字节

{
bytesCount += 1;
}
else


{
bytesCount += 2;
}
}
return bytesCount;

}

//Create XMLHttpRequest Object
function createXMLHttpRequest()


{

if(window.ActiveXObject)

{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequst)

{
xmlhttp=new XMLHttpRequest();
}
}

//send Request By HTTP POST

function RequestByPost(method,variable,value,url,_Namespace)


{
createXMLHttpRequest();
var data;
data = '<?xml version="1.0" encoding="utf-8"?>';
data = data + '<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/">';
data = data + '<soap:Body>';
data = data + '<'+method+' xmlns="'+_Namespace+'">';
for(var i=0;i<variable.length;i++)


{
data = data + '<'+variable[i]+'>'+value[i]+'</'+variable[i]+'>';

}
data = data + '</'+method+'>';
data = data + '</soap:Body>';
data = data + '</soap:Envelope>';

xmlhttp.onreadystatechange=handleStateChange;
xmlhttp.Open("POST",url, true);
xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8");
xmlhttp.SetRequestHeader ("Content-Length",getlen(data));
xmlhttp.SetRequestHeader ("SOAPAction",_Namespace+method);
xmlhttp.Send(data);
alert(data);
}


//CallHelloWorld!

function SayHello_onclick()
{
//alert(document.getElementById('YourName').value);
RequestByPost("HelloWorld",new Array("msg"),new Array(document.getElementById('YourName').value),"WebService.asmx","localhost/");
}
//WeatherReport Test:

function Button2_onclick()
{
RequestByPost("getWeatherbyCityName",new Array("theCityName"),new Array(document.getElementById('CityName').value),"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx","http://WebXml.com.cn/");
}

// ]]>
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)