黑马程序员技术交流社区
标题:
为什么html传值是无状态的
[打印本页]
作者:
张俊双
时间:
2012-10-16 10:47
标题:
为什么html传值是无状态的
页面传值有哪些方式保持?最好举例讲解,谢谢
作者:
李辰东
时间:
2012-10-16 13:37
html页面代码
<form action ="index.aspx" method="post">
用户名称:<input name="username" type="text" />
<br />
用户密码:<input name="userpwd" type="text" /><br />
<br />
<input name="Submit1" type="submit" value="提交" onclick="return Submit1_onclick()" />
<input name="Reset2" type="reset" value="重置" />
</form>
复制代码
然后aspx页面代码
protected void Page_Load(object sender, EventArgs e)
{
string userName = Request.Form["username"].ToString();
string userPwd = Request.Form.Get("userpwd").ToString();
Response.Write("用户名称:" + userName + "<br/>"+"用户密码:" + userPwd);
}
复制代码
作者:
秦敖
时间:
2012-10-16 20:42
老师视频里不是都讲过了吗?http协议是无记忆无状态的协议,所以服务器不会知道上次客户端做了什么请求,因为状态已经丢失。如果要实现跨页面读取数据(不同页面共享数据),最简单的可以使用Cookie,因为Cookie是和站点相关的,在每次浏览器和服务器之间发送或返回数据时,都会携带上Cookie。在http协议那块,老师做了讲解。还有就是可以使用基于Cookie实现的Session。用表单实现跨页面数据的话,会比较麻烦,Cookie的出现就是为了解决这个问题。
作者:
chens2865
时间:
2012-10-23 11:03
因为HTTP协议是无状态的啊,服务器不知道上次浏览器做了什么请求,所以每次给服务器发请求的时候要依靠Cookie,请求的时候把上次的值带上再传给服务器,服务器运算完后把值响应给浏览器的Cookie中。但因为Cookie是存储在客户端,用户可能会禁用Javascript脚本,所以用Session,它是把数据以键值对的形式存储在服务器(这种方式有一个回收机制,比如用Session后会在服务器分配一个区域存储,但如果一段时间不给服务器发请求,服务器就会释放这个Session占据的存储空间),这样即使客户端禁用了JavaScript也不影响了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2