页面数据交互规范

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);

         }

posted @ 2015-09-06 10:00  Jiangkaiou  阅读(784)  评论(0编辑  收藏  举报