http_request.open('POST', 'default.aspx', true);
http_request.setRequestHeader( " Content-Type " , " application/x-www-form-urlencoded " ); //用post方法的话,一定要加这句。
http_request.send('ajax=1&b=5');//然后再send方法中加参数。
然后再接受端,需要改变接受方法。
Request.Form["ajax"] //这个用来接收send方法内的参数。
Request.QueryString["ajax"] //这个用来接收通过url传进来的参数。
就是说,可以现在
http_request.open('POST', 'default.aspx?value=333', true); //通过url直接传递参数value。
http_request.send('value=1&b=5');//同时又在send方法中使用参数value。
接受的时候
Request.Form["value"] //接受send方法的value。
Request.QueryString["value"] //接受url直接传递过来的参数。
这两个可以同时接受到不同的值。
将下面代码放到一个JS文件中,然后在需要调用方法的JS前导入
var xmlHttp;
function createXmlHttpRequest()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
if(xmlHttp.overrideMimeType)
{
xmlHttp.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
if(!xmlHttp)
{
document.getElementById("common").innerHTML = "你的浏览器不支持创建XMLhttpRequest对象";
}
return xmlHttp;
}
/*
执行同步或异步执行以下方法,Method:提交方式,"POST"或"GET",url:提交的页面,SuccessHandler:提交成功后执行的方法,SynOrAsy:同步还是异步,异步为true,同步为false
xmlHttp.responseText:获取提交后返回的数据,如
var ValidateCode = function(){
var url = "URL/ValidateCode.aspx?Code="+document.getElementById("TxtCode").value;//提交的URL
var SuccessDo = function(){
alert(xmlHttp.responseText);//弹出返回的数据
}
AjaxSynOrAsy("POST",url,function(){SuccessDo();}/*提交成功后执行的方法,true);//调用
}
ValidateCode();//执行
*/
function AjaxSynOrAsy(Method,Url,SuccessHandler,SynOrAsy)
{
createXmlHttpRequest();
xmlHttp.open(Method,Url,SynOrAsy);
if(Method == "POST"){
xmlHttp.setRequestHeader( "Content-Type","application/x-www-form-urlencoded");
}
var ValidateResult = function()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
SuccessHandler();
}
}
}
xmlHttp.onreadystatechange=ValidateResult;
xmlHttp.send(null);
}