学习Ajax教程,详细了解GetPost

Get方式:
作用:可传送简单数据
大小:url最大长度是2083 bytes,可以用于GET传递数据的长度是2048 bytes
包含体:数据追加到url中发送,也就是httpheader传送

Post
方式:
作用:可传送简单复杂数据
大小:web.config里限制
包含体:数据在http请求的实体内容里传送

Ajax
Post模式传送数据.需注意:
1.
设置headerContext-Typeapplication/x-www-form-urlencode确保服务器知道实体中有参数变量.通常使用XmlHttpRequest对象的
SetRequestHeader("Context-Type","application/x-www-form-urlencoded;")
2.参数是名/值一一对应的键值对,每对值用&号隔开. name=abc&sex=man&age=18.
3.
参数在Send(参数)方法中发送
4.
服务器端请求参数区分GetPost.例如asp.net中以Request.Form["name"]对实体中的参数请求.这时url参数请求Request.QueryString["name"]将引发异常

 

<javascript type="text/javascript" language="javascript" >
function CreateXmlHttp()
{
 
if(window.ActiveXObject)
 {
    
return new ActiveXObject("Microsoft.XMLHTTP");
 }
 
else if (window.XMLHttpRequest)
 {
   
return new XmlHttpRequest();
 }
}

//---------------------------------------------------------------------------------------------------------------------

//post方式:

function Start()
{
 var ParamString 
= "name=abc&sex=man&age=18";
 var XmlHttpObject 
= CreateXmlHttp();
 XmlHttpObject.onreadystatechange 
= StateEvent;
XmlHttpObject.open(
"post","test.aspx",true);
XmlHttpObject.setRequestHeader(
"Content-Type","application/x-www-form-urlencoded;");     //设置服务器响应请求体参数

 XmlHttpObject.send(ParamString);

}

//---------------------------------------------------------------------------------------------------------------------

//get方式:

function Start()

{

    var XmlHttpObject 
= CreateXmlHttp();

     XmlHttpObject.onreadystatechange 
= StateEvent;

     XmlHttpObject.open(
"get",url,true);

      XmlHttpObject.send(
null);

}

//---------------------------------------------------------------------------------------------------------------------

//创建回调函数

function StateEvent()
{
 
if(http_request.readyState==4)//服务器响应状态

  {

       
if(http_request.status==200|| http_request.status == 304)//代码执行状态

        {

           var resStr
=http_request.responseText;

           alert(resStr);
//这里再处业务逻辑处理

        }

      
else

       {

             alert(
"您所请求的页面有异常!");

       }

   }

  
else

  {

     selectedResTits.innerHTML
="<img src='images/wjb/icons/indicator.gif' alt=''/>";

  }

 }

</script>

 

posted on 2009-05-31 10:59  钱途无梁  阅读(1114)  评论(0编辑  收藏  举报