Ajax学习之Get与Post

    技术2022-05-11  41

    昨天晚上碰到了一个严重的问题,发现Ajax post提交的数据,在后台Servlet接收的时候为null,空值。找了很长时间的原因,都没有找到,本来我的调用是成功的,但是今天无论如何都没有成功,真是令我很急。找了半天的原因,都没有收获,后来想想可能是 我删除了一条语句的问题:这条语句,我以前也不知道是作什么用的,SetRequestHeader("Context-Type","application/x-www-form-urlencoded;")  。后来根据这条信息到网上找资料,最后还真是被我找到了。

     

    文章如下:

    Ajax学习之Get与Post

    笔者:Showwin日期:2006.10.13Get方式:作用:可传送简单数据大小:url最大长度是2083 bytes,可以用于GET传递数据的长度是2048 bytes包含体:数据追加到url中发送,也就是http的header传送Post方式:作用:可传送简单复杂数据大小:web.config里限制包含体:数据在http请求的实体内容里传送

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

    < javascript language = " javascript>function StateEvent(){if(XmlHttpObject.readyState == 4){    if(XmlHttpObject.status == 200)    {        //code    }}}function CreateXmlHttp(){    if(window.ActiveXObject)    {        return new ActiveXObject( " Microsoft.XMLHTTP " );    }    else if (window.XMLHttpRequest)    {        return new XmlHttpRequest();    }}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);} </script>


    最新回复(0)