Coder Social home page Coder Social logo

bridge's Introduction

bridge

前后台彻底分离的中间交互部分的核心文件
如果没有java基础的童鞋直接把项目下载下来之后,
只需要查看WebRoot中的view文件夹就行了

/*

  • bridge桥梁的意思,bridge.js主要是为了架起前后端开发的桥梁.
  • bridge.js类库旨在解决以下问题,这也是bridge.js目的及意义所在.
  • 1.静态页面的发送post请求,会出现500错误,一个项目不可能全是get请求.
  • 2.前后台彻底分离后,静态资源的访问有两种
  •  2.1相对路径:需要用../来寻找目标资源,开发难度大
    
  •  2.2绝对路径.每次需要手动添加根目录名称,根目录只要有变化修改的难度就会很大.
    
  • 3.对于一些后台项目,会有超时管理.对于页面的零散的ajax请求怎么做到统一管理.
  • 对超时时返回的数据及时作出响应,比跳转到登录页
  • 4.前后台并行开发,提高工作效率,和产品质量.
  • 5.前端开发不不依附于后端的开发工具,比如MyEclipse,Visual Studio.前端也有很多优秀的开发工具
  • 6.分工协作,前后端分离是必然的趋势,我们不能停留在几十年前的开发模式里,一人独揽全栈,
  • 环境变化这么快,不进步,就是退步.
  • 7.前端各种技术日益成熟,比如代码压缩,模块化开发.前后台不分离,再好的技术对我们来说只是名词.
  • 8.彻底分离时,会造成前端请求时出现跨域的尴尬境地,前端人员对于服务器环境的生疏,寸步难行.
  • 9.每个ajax请求都有可能出错,同样的报错代码,总不能在每个ajax代码里都写一遍或重新调用一遍
  • =========================================================================
  • bridge.js是在jQuery的基础上做的二次封装.
  • 1.ajax封装介绍(和jQuery的调用一样):
  • 1.0.所有的请求被分为三种,因为请求方式不一样,路径格式也不一样.
  •  跨域+远程==>彻底分离时,发出的请求.
    
  •  只远程==>项目整合的时候,没有了跨域问题.
    
  •  只本地==>请求前端的本地资源
    
  • 1.1.一切post的请求都会被转换成远程请求.
  • 1.2.get请求即可以访问本地资源,也可以发送远程请求
  • 1.3.bridge.js不支持ajax的链式写法,因为ajax返回的是promise对象,
  •  .done(),.fail()无法被被重写封装.(可惜!可惜!)
    
  • 1.4.若有参数cross:true,就发送远程(+跨域)请求,未定义参数cross或cross:false发送本地请求
  • 1.4.
  •  1.4.1.既可以远程也可以本地请求的方法.
    
  •  	bg.ajax(opt)
    
  •  	bg.load(url,param,callback).
    
  •  	bg.get(url,param,callback,type).
    
  •  	bg.getJSON(url,param,callback).
    
  •  1.4.2.因为无法添加参数cross:true,只能请求本地资源的方法
    
  •  	bg.getScript(url,callback).
    
  •  1.4.3.本地无法发送post请求,只能发送远程请求的方法
    
  •  	bg.post().
    
  • bg.inti配置介绍:
  •  root:"",//根目录,前后端的项目名称(根目录)最好相同,整合的时候比较容易
    
  •  view:"",//视图.前端的所有编码都放在一个目录下,这个目录就是视图
    
  •  cross:true,//跨域.开发时这里是true.整合后,改为false.有跨域+远程==>远程
    
  •  hostName:"http://172.20.12.243:8080",//主机.跨域时的主机名称
    
  •  checkSession:false,//是否检测session失效的问题,有些网站不需要检测,但是大部分登录系统都要判断session
    
  •  noSession:function(data){//sessiong失效时执行的函数
    
  •  console.log("session失效,跳转页面");
    
  •  }
    
  • 后端配置:新建一个过滤器,
  • 设置:
  • response.setHeader("Access-Control-Allow-Origin", "http://127.0.0.1:8020");
  • 或:
  • response.setHeader("Access-Control-Allow-Origin", "*");
  • 前后端整合完毕后,屏蔽这个设置,就不存在跨域以及跨域带来的安全问题了.

*/

bridge's People

Contributors

guoyansi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.