![](https://img.haomeiwen.com/i3188930/06bc2f59112fab30.png)
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
如下情况则须使用POST方式:
Ø 无法使用缓存文件(更新服务器上的文件或数据库)
Ø向服务器发送大量数据(POST 没有数据量限制)
Ø 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
HTML标准中对HTTP协议的用法的约定
GET
- 用于获取数据。
- 使用URL或Cookie传参。(会将参数追加到URL后面)
- GET提交的数据大小有限制(因为浏览器对URL的长度有限制)
使用GET请求经常会发生的一个错误,就是查询字符串的格式有问题.查询字符串中每个参数的名称和值都必须使用encodeURIComponent()进行编码,然后才能放到URL的末尾;而且所有名-值对都必须使用&分隔.
xhr.open("get","example.php?name1=value1&name2=value2",true);
http://localhost:8080/EcommerceSiteLM/user/register.do?username=liumin&password=123456
辅助向现有的URL的末尾添加查询字符串参数
function addURLParam(url,name,value){
url += (url.indexOf("?") == -1 ? "?" : "&");
url += encodeURIComponent(name) + "=" + encodeURIComponent(value);
return url;
}
POST
- 一般用于将数据发给服务器。
- 将数据放在Body中。
- POST的数据可以非常大。
- 更安全,因为数据在地址栏上不可见。
get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML header内一起传送到action属性所指的URL地址,用户看不到这个过程。
URL的构造规则(GET带参情况下) 获取参数以JSON显示(编写function)
![](https://img.haomeiwen.com/i3188930/2f6bf898e88af3de.png)
网友评论