一、html中get和post的区别:
Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,数据都会直接显示在 url 上,就像用户点击一个链接一样。
Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理。
2、 处理效率不同
Get 方式需要使用 Request.QueryString 来取得变量的值。而 Post 方式通过 Request.Form 来访问提交的内容。Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好。
而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。
3、安全性不同
Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码。
二、html中Get是最常用的方法:
通常用于请求服务器发送某个资源,而且应该是安全的和幂等的。
(1)、所谓安全是指该 *** 作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改和增加数据,不会影响资源的状态。
注意:这里安全的含义仅仅是指是非修改信息。
(2)、幂等是指对同一个URL的多个请求应该返回同样的结果。
三、html中POST的使用方法:
POST方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。
扩展资料:
HTML中GET和POST的误区:
POST可以比GET提交更多更长的数据:
1、由于使用GET方法提交数据时,数据会以&符号作为分隔符的形式,在URL后面添加需要提交的参数,有人会说,浏览器地址栏输入的参数是有限的,而POST不用再地址栏输入,所以POST就比GET可以提交更多的数据。
2、实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。
3、对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于 *** 作系统的支持。所以POST也是没有大小长度限制的,HTTP协议规范也没有进行大小限制。起限制作用的是服务器的处理能力。总归一句话,这个限制是针对所有HTTP请求的,与GET、POST没有多少关系。
参考资料来源:百度百科-HTML
<!-- method代表接受方式 post/get
form action 属性规定当提交表单时,向何处发送表单数据。 -->
<form action="#" method="post"/>
<!--label复选框的光标方便用户选中,可加可不加。 -->
<label for="user">名字:</label><input type = "text" id="user" name="user" size="15" value="请写上你的用户名" maxlength="15"/></br>
<label for="title">标题:</label><input type = "text" id="title" name="title" size="25" value="请输入标题" maxlength="25"/></br>
<label for="content">内容:</label></br><textarea id="content" name="content" rows="9" cols="35" value="please" wrap="off"/></textarea></br>
<input type="submit" id="submit" name="submit" value="发布" />
<input type="submit" value="提交" style="width:80pxheight:100pxcolor:redbackground-color:#3FF">
type:只有当type的设置等于submit时,按钮才有提交的作用
Value:按钮上显示的文字
color:本来就只针对文本而言有作用。
要改变背景色要用:background:#ccc
先给答案,首先,2个纯粹的html无法互相post数据,必须要有web服务器,但可以通过get传递数据
页面提交数据一般有两种方法:get,post。post就是所谓的form提交,使用视图;get是通过url提交。
post的值是不可能从html到hmtl的,中间必须经过Server.
原因:post的值是附加在http请求的头部的,它不会出现在URL请求串里,所以用js来获取查询参数的方式来获取post
请求参数是不行的.post方式只有在服务器端才能获得表单提交的值。
方案一:
请跳转到服务器端,由服务器获得得post的值,再(以url或在request里面赋值的方式)跳到指定的页面。
方案二:
改用Get方式,通过URL传值,将原来的post方法改为get方式后,请求的参数会出现在地址栏,并且表示里的submit
组件值也会出现在URL里。
如2.html?aa=1
然后通过js获得得变量aa的值
//获取指定参数名的参数值function getQueryParameter(qs)
{
var s = location.href
alert(s)
s = s.replace("?","?&").split("&")//这样可以保证第一个参数也能分出来
alert(s)
var re = ""
for(i=1i<s.lengthi++)
if(s[i].indexOf(qs+"=")==0)
re = s[i].replace(qs+"=","")//取代前面的参数名,只剩下参数值
return re
}
为了防止你搞不明白,我帮你写了2个代码如下:
<!-- a.html --><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="b.html" method="get">
<input type="text" name="user" value="admin">
<input type="text" name="pwd" value="1234">
<input type="submit" value="提交">
</form>
</body>
</html> <!-- b.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//获取指定参数名的参数值
function getQueryParameter(qs)
{
var s = location.href
s = s.replace("?","?&").split("&")//这样可以保证第一个参数也能分出来
var re = ""
for(i=1i<s.lengthi++)
if(s[i].indexOf(qs+"=")==0)
re = s[i].replace(qs+"=","")//取代前面的参数名,只剩下参数值
return re
}
var user = getQueryParameter('user')//获取user
var pwd = getQueryParameter('pwd')//获取pwd
alert('你传入的user是:'+user)
alert('你传入的pwd是:'+pwd)
</script>
</body>
</html>
ps:实例中的代码参考来源 http://nopainnogain.iteye.com/blog/799299
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)