浏览器提交数据的两种方式
一、浏览器提交数据方式?(例)
1.表单:(数据藏在请求报文体中,格式:txtname=james&txtpwd=123)
<form action=“login.ashx” method=“post”>
<input type=“text” name=“txtname” />
<input type=“password” name=“txtpwd”/>
</form>
注意:1.表单提交必须是控件的设置的name属性。
2.要提交的表单文本框必须是form对象里的,提交表单的时候,注意,我们是把name属性,看成是表单的键值,作为表单的唯一标识,键值value作为键的值,我们是根据name属性找到value的值。
2.地址栏的URL参数(和表单的Get方式一样):键值对。
http://127.0.0.1/login.ashx?txtname1=jordan&txtpwd1=123
二、服务器如何获取浏览器提交的数据?
1.获取表单数据:context.Request.Form[“txtname”]
2.获取URL参数:context.Request.QueryString[“txtname1”]
三、服务器如何向浏览器输出数据?
context.Response.Write(“我是从服务器输出到浏览器的数据!:)”);
如何传递数据,可分为三种方式:
Querystring属性:获取通过GET方式传来数据。浏览器:超链接和表单 method=get
Request
From属性:获取通过poST方式传来的数据 ,表单method=post Params属性:客户端提交的数据集合。
Response允许开发人员对数据页面的输出流行超作。
Write 方法:直接在页面上输出内容。
Response.Write(“要输出的内容”);
Redirect 重定向到另外一个页面服务器发送命令请求让浏览器跳转。
Response.Redirect("http://www.itcast.cn");
REsponse end是结束方法。
重定向:就是告诉浏览器你访问另外一个页面来。 原理:服务器向浏览器发送一个包含 302状态码和Location的响应报文,浏览器看到302后就会自动请求Location指定的页面。
在提交的时候,有name他会提交,没有name 他不会提交。他只会提交name和value。其他的都都不会提交ru class id 这些值,他都不会提交。
在提交的时候,注意一定要控件放在form内,只有在form表单内才会提交。
当我们点击【提交】按钮以后是浏览器将用户填写的文本框等控件中的值“提取”出来发送给服务器,而不是服务器来读取用户填写的这个页 面。哪些标签的哪些值会被提交给服务器呢?将用户填写的内容提交到服务器有如下几个条件:
只能为 input、textarea、select三种类型的标签。只有input(文本框、CheckBox等)用户才可能填写值,<label>、<p>、<font>等标签仅供显示用,没有提交到服务器的必要。
只有value属性的值才会提交给服务器。以input标签为例,input标签有title、type、disabled等属性,但是这些属性都是供显示用的,用户并不能修改,只有value属性才是用户输入的属性,因此只有value属性的值才会被 提交到服务器。
标签必须设定name属性。学习Dom的时候我们知道如果要通过JavaScript操作标签,必须为标签设定Id。如果要将标签的value属性值提交到服务器,则必须为标签设定name属性,提交到服务器的时候将会以“name=value”的键值对的方式提交给服务器,多个键值对之间用&分割。除了单选按钮等少数标签之外,大部分标签的name的值不能重复。name是给服务器用的,id是给Dom用的。对于RadioButton,同name的为一组,选中的RadioButton的value被提交到服务器。
如果设置了控件的disabled属性的话,浏览器也不会提交该控件的值。
放到form标签内。只有放到form标签内的标签才可能会被提交到服务器,form之外的input等标签被忽略。