如今用户体验、逻辑等产品思维和类似需求分析、PRD撰写的产品技能越来越成为产品经理的基本技能,企业更加注重T型人才的培养。我是软件工程的背景,希望以后可以做偏技术方面的产品经理,同时增强自己的竞争力。互联网的产品设计,靠需求推动,由技术落地,产品被设计出来,技术上的可行性是产品经理需要考虑的重点之一。因此产品经理懂技术从长远来看,也是开发、迭代产品中必要的一环。
今天希望根据自己浅薄的知识和网上的参考资料,小小的总结一下前后端交互的问题。
一、什么是前后端交互?
1、首先,我们需要理解什么是前后端分离:
1 | 前后端分离是一种架构模式,说通俗点就是后端项目里面看不到页面(JSP|HTML),后端给前端提供接口,前端调用后端提供的REST风格接口就行,前端专注写页面(html|jsp)和渲染(JS|CSS|各种前端框架);后端专注写代码就行。 |
ps: 参考文章:从MVC到前后端分离
2、前后端交互的原理:
前端根据接口,提供请求参数,后端接收参数,根据参数查询数据库,并得到返回的数据,将返回的参数送到前端。前端调用接口,将返回的数据呈现。
3、前后端交互细节:
参考文章链接:https://blog.csdn.net/shuo1992/article/details/58615465
(1)前端提供请求数据:前端提供查询参数(URL请求参数)(URL由后台写好给前端)
(2)后端设计&修改接口文档:因为后端跟数据库进行直接的交互,前端只是数据的接受者,接口文档的使用者
(3)交互数据的格式:主要用JSON进行交互,现在流行的AJAX也是通过JSON完成。JSON通常用于与服务端交换数据,在接受服务器数据时一般是字符串
(4)请求方法:POST和GET,GET是向服务器发送索取数据的请求,POST是向服务器提交数据(表单)
二、熟悉几个概念
1、什么是接口?
接口就是提供具体能力的一个标准和抽象,是一些预先定义的函数,包括接口地址、传入参数和返回参数和数据。可以简单理解为,当需要访问某些数据,正常状态下传入合格参数,会收到该数据范围内的返回参数。前后台的交互基本都是通过程序接口实现的。
2、什么是JSON?
JSON(JavaScript Object Notation,) 是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在进行前后端交互时,多数用的是JSON。
3、什么是AJAX?
Ajax,即异步JavaScript和XML,是一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的部分进行加载更新。
Ajax 的优点在于它在浏览器与web服务器之间使用异步数据传输(HTTP请求),不阻塞用户,核心对象是XMLHTTPRequest。通过这个对象,js可在不重新加载页面的情况下与web服务器交换数据。
三、如何进行前后端交互?(实例说明【转】)
PS:以下例子均为用AJAX实现前后端交互
【例1】参考文章链接:http://www.woshipm.com/pd/855233.html
【例1】:一个网站的登录功能,我们通过ajax(可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页)加载服务器数据的过程再来体验一下前后台数据交互的过程。
我们先给登录名和登录密码的文本框起两个名字,即UserName,PassWord。
前端代码(解析)如下:
1 | $.ajax({ |
我们不用关心function(data)函数中具体的代码,无非就是:前端页面展示用户的用户名、页面状态变为已登录、展示用户相关数据等。
后端代码过于复杂,我就不展示了,总之后端要做的处理就是:
(1)拿到前端传递过来的数据(用户名和密码)和数据库中用户信息做比对
(2)如果一致则返回给前台一个状态,并且返回用户的相关数据(昵称、个人信息、购物车信息、收藏的商品等等),这些数据同样是以JSON的形式传回给前端。
(3)如果用户名或密码不一致,也返回给前端一个状态。
(4)前端根据得到的状态做出页面的相应效果:登录按钮变为退出、显示用户昵称、显示购物车信息、显示收藏信息、登录框隐藏等,如果用户名密码不匹配则显示相应的提示信息。
【例2】参考文章链接【戳】:https://blog.csdn.net/weixin_42228338/article/details/80508138
四、补充
参考文章: