get、post请求

1. get、post概述

get,post为两种请求方式,直观上的区别是,get的请求将请求的数据显示在url上,比如我在百度搜索’get’一词的时候,浏览器的URL地址变成:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=get&rsv_pq=afdd00d5000058f7&rsv_t=94c5xvQi9LazQd58Y%2FTkD6Md5CXhxCNUEbxaryQAzTEGpOJ1J730WnTJboo&rqlang=cn&rsv_enter=1&rsv_sug3=4&rsv_sug1=3&rsv_sug7=100&rsv_sug2=0&inputT=1659&rsv_sug4=2475,以?分割URL和传输数据,参数之间以&相连;
post请求提交的数据则放置在是HTTP包的包体中。从而体现了get与post安全性的问题,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1登录页面有可能被浏览器缓存或者其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了。

2.get请求限制

由于GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了,而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。理论来说,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。

3.get、post请求传递参数不同

get传递参数的方式,能够看到首先定义一个对象,存放需要传递的参数,在进行get请求的时候,第一个参数为url地址,第二个参数为参数列表,以对象key:value的方式进行传递,post请求传递URl地址以及参数对象就可以了。

post请求

1
$http.post(API_HOST+'/scenery/adminInsertId', params).then(function (res) {})

get请求

1
2
3
$http.post(API_HOST+'/scenery/adminInsertId', {params:params}).then(function (res) {})
或者,若get请求只有一个参数的时候,也可以拼接在的url后边,参数为code:
$http.get(API_HOST+'/session/getUserInfoByCode?code=' + code).then(function (res) {})