页面数据交互规范

本文深入探讨了Web开发中两种常见的表单提交方式:GET和POST的区别,包括它们的安全性、数据传输限制、服务器接收方式以及代码实现规范。重点介绍了如何避免使用GET方法进行敏感数据的传递,推荐使用POST方法来提高安全性。

1、      Form的提交

1.1          get

1)         get的FORM提交的特点

  • get方式等于是在URL后面带着数据,在传递中文内容时会出现乱码;
  • get只有一个流,参数附加在url后,地址行显示要传送的信息,大小个数有严格限制且只能是字符串;
  • get调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来问题,例如用户名和密码等(不安全);
  • 服务器随机接受GET方法的数据,一旦断电等原因,服务器也不知道信息是否发送完毕(服务器接收方式);
  • 当form框里面的method为get时,执行doGet方法(执行方式);
  • GET方法后面的信息量字节大小不要超过1.3K(容量限制);

2)         代码规范

禁止使用get方法进行form提交。

1.2          Post

1)         POST的FORM提交的特点

  • post的参数是通过另外的流传递的, 不通过url,所以可以很大,也可以传递二进制数据,如文件的上传;
  • post传递数据是不会显示SERVLET的数据,这就很好的解决了不安全的问题(安全);
  • POST方法,服务器先接受数据信息的长度,然后再接受数据(服务器接收方式);
  • 当form框里面的method为post时,执行doPost方法(form的运行方式);
  • post方法后面的信息量字节大小没有限制;

2)         代码规范

  • 通过form的onsubmit事件直接提交

<html:form action="/update" onsubmit="return formCheck();">

<input type="submit" class="clsbtn2" name="subButton" value="修改" />

</html:form>

  • 通过JS提交

<script>

document.form1.action=webapp+"/fishing/apply/businessAcceptDo.do";

document.form1.submit();

</script>

2、      URL提交

2.1Window的提交

<script>

    var id=$Q("#id").val();

    window.navigate("delete.do?id="+id);

</script>

2.2 <html:link>

<html:link page="/updateView.do" paramId="id" paramName="item" paramProperty="id">更新</html:link>

3、      AJAX的提交

3.1 Url参数提交数据

function sendRequest(url) {//初始化、指定处理函数、发送请求的函数

           httprequest = false;

           if(window.XMLHttpRequest) {//Mozilla 浏览器

              httprequest = new XMLHttpRequest();

                    if(httprequest.overrideMimeType) {//设置MIME类别

                       httprequest.overrideMimeType("text/xml");

                    }

           }

           else if (window.ActiveXObject)  { //IE 浏览器

             try  {

                     httprequest = new ActiveXObject("Msxml2.XMLHTTP");

             } catch (e) {

                      try {

                            httprequest = new ActiveXObject("Microsoft.XMLHTTP");

                      }  catch (e) {}

             }

           }

      if(!httprequest) {

              window.alert("错误");

           }

           httprequest.onreadystatechange = processrequest;// processrequest为回调函数,既数据返回后调用的方法。

           httprequest.open("GET",url,false);

           httprequest.send(null);

         }

转载于:https://www.cnblogs.com/jiangkaiou/p/4765905.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值