前端常见面试问题及其解析--1.后台数据如何传送到前端
面试问题及其解析:
1.后台数据如何传送到前端
两种方法:get/post(最常用的两种HTTP方法,其实还有head、put、delete、options)
HTTP:超文本传输协议,保证客户机与服务器之间的通信(三次握手)
GET-从指定的资源请求数据(如百度搜索)
请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2
特性:
- GET 请求可被缓存
- GET 请求保留在浏览器历史记录中
- GET 请求可被收藏为书签
- GET 请求不应在处理敏感数据时使用
- GET 请求有长度限制
- GET 请求只应当用于取回数据
POST-向指定的资源提交要被处理的数据(如提交表单)
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发
送的:
POST /test/demo_form.asp HTTP/1.1 Host: w3schools.com name1=value1&name2=value2
特性:
- POST 请求不会被缓存
- POST 请求不会保留在浏览器历史记录中
- POST 不能被收藏为书签
- POST 请求对数据长度没有要求
具体请看下表:
其他方法:
在angularjs中的实战应用:
首先,你的后台要有相应的支持接口api,其中定义了接口类型(get/post)及其使用方法
一般我们会用到接口测试工具Postman
然后在angular的src/app/index.api.js文件中,定义前端与后台接口的对接方式
首先定义一个factory,其中提供了前端与后台对接的一些方法
(factory方式创建的服务,作用就是返回一个有属性有方法的对象。相当于:var f = myFactory();)
api定义:
实际项目中调用:
(中间的function即为fb)
注意一开始要在开头注入(dataService依赖
过程总结:后台(服务器)定义Http请求方法[定义http请求]
—>前端api.js文件中定义api service方法并注入$http依赖[定义api服务]
—>在方法中创建api service返回对象,以及定义基地址[定义端口和返回值]
—>为其返回对象绑定一个又一个http方法(get/post),其中定义它的url、请求头、回调函数、异常处理等等[定义请求函数]
—>在项目中通过注入api service方法依赖调用api,从而成功与后台对接[调用函数]
(回调函数解释:你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。回答完毕。
作者:常溪玲
链接:https://www.zhihu.com/question/19801131/answer/13005983
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。)