您的位置:首页 > 其它

ajax中get和post两种请求的区别

2015-04-14 22:51 351 查看
Ajax(Asynchronous Javascript And XML)即异步JavaScript和XML,通过在后台与服务器进行少量数据交换,AJAX
可以使网页实现异步更新;这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新(即局部刷新);而传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

了解完定义后,就要使用ajax技术了,不过在使用之前我们要先了解请求时get和post的区别以及两者各自在何时使用最为合适。

get和post的区别:

1.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

2.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。

3.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,因服务器的不同而异。

4.get安全性非常低,post安全性较高。

5.传递参数时

get方式:在请求时,要连带发送相关参数,将参数附加在URL上即可,例如:

<span style="font-size:18px;"> var urlAndqueryString = "yourApp?name=justin&age=30";
xmlHttp.open("GET", urlAndqueryString);
xmlHttp.send(null);
</span>
post方式:在请求时,要连带发送相关参数,將要发送的参数塞到send()中即可,例如:

<span style="font-size:18px;">var url = "yourApp";
var queryString = "name=justin&age=30";
xmlHttp.open(“POST", url);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(queryString);</span>


6.通过URL发送请求时,,GET 方式把表单内容放在前面的请求头中,也就是在地址栏中能够看到传递的参数;而 POST 则把这些内容放在请求的主体中了,同时 POST 中把请求的 Content-Type 头设置为 application/x-www-form-urlencoded,即将传递的参数放在了请求的文件中,地址栏不可见;但两者发送的正文都是一样的。

7.Get请求有如下特性:
它会将数据添加到URL中,通过这种方式传递到服务器,通常利用一个问号?代表URL地址的结尾与数据参数的开端,后面的参数每一个数据参数以“名称=值”的形式出现,参数与参数之间利用一个连接符&来区分。

Post请求有如下特性:

数据是放在HTTP主体中的,其组织方式不只一种,有&连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便。

使用场合:

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

1.无法使用缓存文件(更新服务器上的文件或数据库)

2.向服务器发送大量数据(POST 没有数据量限制)

3.发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: