前后端数据交互的方式
(1)利用cookie对象
cookie是服务器存储在客户端里的一小部分数据,使用cookie也有前提,就是客户端允许使用cookie并作出相应设置。
后台代码
Cookie cookie=new Cookie("name", "hello");
response.addCookie(cookie);
前台代码
Cookie[] cookies=request.getCookies();
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().toString().equals("name")){
out.print(cookies[i].getValue());
}
}
(2)利用AJAX
在学习NodeJS之前最常用的前后端交互大都利用ajax 和JQuery中已经封装好的$.ajax、$.post、$.getJSON 通过创建一个XMLHttpRequest对象,来进行前后端交互。
在学NodeJS之后我们也利用依赖于$http服务自己搭建的_http来完成get、post和jsonp的方式来进行前后端交互;
(3)服务端渲染
浏览器请求到的内容可以通过后端加工一下,将数据直接渲染好,交给浏览器就行了。
在php中实现服务端渲染:
在PHP文件中可以放入html语句,访问php文件时,就相当于访问对应的html文件,在php文件中也可以写一些php代码渲染数据。
在node中实现服务器的渲染
利用模板引擎,node在渲染模板时给模板传入数据,在模板中就可以利用特定的语法来渲染DOM,例如ejs。
(4)利用session对象:
session对象表示特定会话层session的用户数据,客户第一次访问支持session的JSP网页时。session对象记录客户的信息,当客户访问同一网站,不同页面时,仍然处于同一session中。
(5)jsonp
jsonp是前后端结合跨域方式, 允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。