前后端数据交互方法和原理

发布时间:2018-10-28 11:25,

浏览次数:742

对于想要搞web的新手而言,会用html+css+javascript实现一个页面没什么太大的困难,但是想要前后端实现数据交互,在没有指导的情况下,可能大多数人都会一头雾水,往往都会有以下的疑问。

目录

1、数据是怎么发送到后端?

2、后端是怎么接收到前端发送过来的数据?

3、后端怎么对前端发送来的数据进行处理?

4、处理完之后又怎么写入数据库,以及给前端返回处理结果?

网站数据处理主要分为三层。

第一层,表示层,这部分可以用HTML代码,CSS/Javascript代码来实现等。通过前端代码可以实现网页的布局和设计。这层又可以称为显示层。也就是你用浏览器打开能看到的网页。

第二层,是业务层,这层是负责处理数据的。常用的代码语言有PHP,JSP,Java等。通过这些后台处理语言的算法来处理前台传回的数据。必要的时候进行操作数据库,然后把结果返回给前端网页。

第三层,是数据层,这个就是数据库,用来存储数据的。通过业务层的操作可以实现增删改数据库的操作。

①你接触到的是这个网页是属于表示层,这个网页一般由HTML标签结合CSS/JAVASCRIPT来实现的。 这时候你要先填入数据。

②然后你按提交触发后台处理机制,这时候数据会传到后台的代码进行处理。这部分代码根据不同网站可以使PHP,JSP,JAVA等。

代码根据程序员预设的算法将收到的数据进行处理之后会相应的对数据库进行操作,存储数据等。

③成功操作完数据库之后,业务层的代码会再向表示层也就是显示器端传回一个指令通知你表格填写成功

从前端向后端传递参数方法

一、通过表单传递参数

1.前端部分,在前端jsp页面设置form表单,确定需要传递的参数name让用户输入,通过点击按钮后submit()提交到后台

type="text" class="login_input" id="sfzh" name="sfzh" placeholder="请输入用户名" />

placeholder="请输入密码" />

String message = (String)request.getAttribute("message");

if(StringUtils.isNotBlank(message)){ %>

登 录

2.后台对前端请求的反应,接收数据,处理数据以及返回数据。

@RequestMapping(method=RequestMethod.POST) public String dologin(String sfzh,

String pwd, RedirectAttributes redirectAttributes){ User query = new User();

query.setUserAccount(sfzh); HttpSession session =

HttpSessionUtil.getHttpSession(); List userlist =

userService.select(query);

二.通过ajax传递参数(有post和get写法)

1.ajax是如何将前端数据传到后台的

function leftmenu(parentid, parentpath,moduleindex){ var leftcontent="";

$.ajax({ type: "POST", url : "/resource/usermenus", data :

{parentid:parentid,parentpath:parentpath}, success : function(data){ // 处理head

menu是否有页面要打开 leftcontent= template('_menu2tmpl',data);

$('.nav').html(leftcontent); addclick(); //临时点击显示菜单

if($('.index-left-warp').width()==0){ $(".index-left-show").hide();

$(".index-left-warp").animate({width:"200px"},250);

timer=setTimeout(function(){ tabsResize(); },500); }; $(".nav").accordion({

//accordion: true, speed: 500, closedSign: '

src="/images/menu_close.png"/>', openedSign: '

src="/images/menu_open.png"/>' }); } }); }

$.ajax({

type: "POST",//type是ajax的方法

url : "/resource/usermenus",//参数url,要把参数传到什么地方

data :

{parentid:parentid,parentpath:parentpath},//传递什么数据

success :

function(data){//sucess表示,当数据返回成功后要怎么做,返回的数据存储在data

2.后台对前端请求的反应,接收数据,处理数据以及返回数据。

@ResponseBody @RequestMapping(value = "usermenus") public Map

usermenus(String parentid, String parentpath) { UserDetail user =

HttpSessionUtil.getSessionUser(); String appadmin =

Config.getInstance().getCustomValue("app.admin"); List list = null;

if(user.getUserAccount().equals(appadmin)){ // 系统内置管理员 默认获取全部授权 list =

resourceservice.queryAllMenuCascade(parentpath); }else{ list =

resourceservice.queryUserMenuCascade(user.getId(), parentpath); } // 初始化根节点

Resource root= new Resource(); root.setId(parentid); Collections.sort(list, new

Comparator() { public int compare(Object o1, Object o2) { Resource

resource1 = (Resource) o1; Resource resource2 = (Resource) o2; if

(resource1.getSort() > resource2.getSort()) { return 1; } if

(resource1.getSort() < resource2.getSort()) { return -1; } //如果返回0则认为前者与后者相等

return 0; } }); // 组装Tree return RecDHTree(root,list); }

3.再看看前端接收到后端返回的数据是如何处理的

function leftmenu(parentid, parentpath,moduleindex){ var leftcontent="";

$.ajax({ type: "POST", url : "/resource/usermenus", data :

{parentid:parentid,parentpath:parentpath}, success : function(data){ // 处理head

menu是否有页面要打开 leftcontent= template('_menu2tmpl',data);

$('.nav').html(leftcontent); addclick(); //临时点击显示菜单

if($('.index-left-warp').width()==0){ $(".index-left-show").hide();

$(".index-left-warp").animate({width:"200px"},250);

timer=setTimeout(function(){ tabsResize(); },500); }; $(".nav").accordion({

//accordion: true, speed: 500, closedSign: '

src="/images/menu_close.png"/>', openedSign: '

src="/images/menu_open.png"/>' }); } }); }

ajax连接前后端原理,前后端数据交互方法和原理相关推荐

  1. 前后端数据交互方法和原理

    对于想要搞web的新手而言,会用html+css+javascript实现一个页面没什么太大的困难,但是想要前后端实现数据交互,在没有指导的情况下,可能大多数人都会一头雾水,往往都会有以下的疑问. 目 ...

  2. 前后端数据交互方法 汇总

    这篇文章给大家介绍几种常用的前后端数据交互方法,并给出使用建议.以提高前后端协同开发的效率.非常的详细,推荐给小伙伴们,有需要的小伙伴可以参考下. 1.HTML赋值 输出到 Element 的 val ...

  3. 深入理解CDC原理与Debezium数据接入流程和原理

    深入理解CDC原理与Debezium数据接入流程和原理 一.什么是WAL 二.什么是CDC 三.理解CDC客户端 四.Debezium数据接入原理 1.postgresql数据库对CDC的支持 2.p ...

  4. springMVC之与json数据交互方法

    2019独角兽企业重金招聘Python工程师标准>>> 因为我也要返回json数据.所以需要这个注解@ResponseBody,把Java对象转换成json字符串 注意:  1.@R ...

  5. 【转】JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  6. JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  7. 骑士智能科技M5310模块连接中移OneNet平台实现数据交互

    一.实验目的 使用骑士智能科技M5310模块加USB转串口,连接到中移OneNet平台上,并实现温湿度数据交互 二.准备工作 硬件:骑士智能科技M5310模块 + 移动NB卡.USB转串口.天线 软件 ...

  8. 实现前后端数据交互方法汇总

    此文章适合前后端协同开发经验不足的新手阅读. HTML赋值 输出到 Element 的 value 或 data-name <input type="hidden" valu ...

  9. JAVAWeb项目前后端的分离,数据交互的跨域问题

    一.遇到的什么问题属于跨域问题? 这是当我们前台访问后台时,如果没有解决跨域,就会报这个错误 二.解决跨域问题(参考:https://www.cnblogs.com/binbang/p/5553701 ...

最新文章

  1. java 转换上传文档_自己编写JAVA环境下的文件上传组件 (转)
  2. Keras搭建YoloV4目标检测平台
  3. 免费下载 | 超级APP背后的移动端技术大揭秘
  4. php 5.3 require,PHP5.3提示PHP Wrequire(./xx.php)arning: [function.require]: failed to open stream
  5. C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——遍历和查找(精简易懂版,句句干货)
  6. linux 字符串加入中括号,方括号及其在命令行中的不同用法介绍
  7. lcfirst_PHP lcfirst()函数与示例
  8. 54. 二叉搜索树的第k大节点
  9. Hibernate建立关系配置(hbm.xml)bag中cascade属性
  10. 为什么越有钱的人越轻松
  11. SVN工具的安装和使用
  12. 一个老程序员的计算机视觉蹒跚学习之路
  13. 一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球对,现在四个球对进行比赛,用一条sql 语句显示所有可能的比赛组合.
  14. 已解决ModuleNotFoundError: No module named ‘frontend‘
  15. CSS imitate Microsoft Classic Menu
  16. 侍魂胧月传说服务器维护,侍魂胧月传说手游7月1日停机维护更新公告
  17. 回放线上流量利器-GoReplay
  18. 使用 Web3.js 进行 Matic 测试网上链操作
  19. MOJITO 发布一周,爬一波弹幕分析下
  20. OPengl学习(二)——opengl环境搭建

热门文章

  1. 通过mysql实现leader election
  2. SQL性能第2篇:查询分析和访问路径制定
  3. 用properties写的一个程序运行次数计数的程序代码,超过次数提示注册。
  4. python 数据类_python数据类
  5. 核销规则配置好之后 验证核销规则和本地测试过程
  6. mysql找出借书超过5本的读者_MySQL 练习题【一】附加题2
  7. onvif规范的实现:server端Discovery实现,通过OnvifTestTool12.06测试
  8. UsernamePasswordAuthenticationFilter源码分析
  9. 关于@Import注解的几个问题
  10. Spring AOP核心原理分析