简单的提交方式

Posted 牧云的少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的提交方式相关的知识,希望对你有一定的参考价值。

​​​​Get,Post提交

    数据提交有很多种以下是其中较为简单的Get和Post提交方法

而这两种提交方式有一定的区别

get提交时参数直接暴露在URL上。

则Post提交会封装再提交而不会暴露在URL上。

            POST数据会被重新提交可能会产生不良的后果(浏览器应该告知用户数据会被重新提交)

            而数据类型的限制:GET只允许ASCII字符,POST则无限制(如果提交二进制数据(例如:图片),需要使用POST方法)

首先在控制器里的四种提交方式:

  1. 通过形参的方式接收表单提交的数据(可以接收post与get提交的数据)

public ActionResult GetData(string name,string sex,string address)

        {//断点

 string str = "1.通过形参的方式接收表单提交的数据"+name + "&" + sex +

"&" + address;

            return Content(str);}

  1. 通过FormCollection来接收表单的数据(只可以接收Post提交过来的数据)

public ActionResult getDataByFormCollection(FormCollection form)//实例

        {

            string name = form["name"];

            string sex = form["sex"];

            string address = form["address"];

            string str = "2.通过FormCollection来接收表单的数据" + name + "&" +

sex + "&" + address;

            return Content(str);       }

  1. 通过 Request.Form["name的属性值"]获取表单数据(只可以接收Post提交过来的 数据)

public ActionResult getDataByRequest()

        {

            string name = Request.Form["name"];

            string sex = Request.Form["sex"];

            string address = Request.Form["address"];

            string str = "3.通过Request.Form来接收表单的数据" + name + "&" + sex

+ "&" + address;

            return Content(str); }

  1. EntityClass实体类接收数据(可以接收post与get提交的数据)

public ActionResult getDataByEntityClass(Person person)

        {

            string name = person.name;

            string sex = person.sex;

            string address = person.address;

            string str = "4.EntityClass实体类接收数据" + name + "&" + sex + "&"

+ address;

            return Content(str);

        }

        //js中 Person 通过构造函数去创建对象

       *这个很重要,不去创建的话上面的参数找不到对象就无法查找。

        //创建实体类

        public class Person {

            public string name { get; set; }

            public string sex { get; set; }

            public string address { get; set; }

 

        }

    }

   接下来就是去视图把对应的数据查找并且输出就是了,分别是get和post

         提交方式的按钮名称(自定义变量)

               👇

   function getData() {                

            var name = document.getElementById("txtName").value;

            var sex = document.getElementById("cboSex").value;

            var address = document.getElementById("txtAddress").value;

            if (name != "" && sex != 0 && address != "") {

                var myform = document.getElementById("myform");

                myform.method = "get";//提交方式

                //1.可以通过参数形式接收数据

                // myform.action = "/Form/GetData";//提交地址

                myform.action = "/Form/getDataByEntityClass";//url == "/控制器/方法的名称"

                myform.submit();

 

            } else {

                alert("数据不完整!");

            }

        }

        function postData() {

            var name = document.getElementById("txtName").value;

            var sex = document.getElementById("cboSex").value;

            var address = document.getElementById("txtAddress").value;

            if (name != "" && sex != 0 && address != "") {

                var myform = document.getElementById("myform");

                myform.method = "post";//提交方式

                // myform.action = "/Form/GetData";//提交地址

            //1.可以通过参数形式接收数据 2.可以通过FormCollection接收数据 3.Request.Form接收

表单数据

                //myform.action = "/Form/getDataByFormCollection";

                //myform.action = "/Form/getDataByRequest";

                myform.action = "/Form/getDataByEntityClass";//url == "/控制器/方法的名称"

                myform.submit();

 

            } else {

                alert("数据不完整!");

            }

        }

 

以上是关于简单的提交方式的主要内容,如果未能解决你的问题,请参考以下文章

提交表单详解

表单提交详细介绍

SpringMVC中,如果想对所有表单提交的数据进行过滤/转义,怎么操作比较简单?

javascript异步提交有几种方法

git push 用https的方式提交,一个简单的问题

三种POST和GET的提交方式