欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前后端数据交互的几种方式

程序员文章站 2022-03-16 08:55:13
...


前言

前后端数据交互的方式有哪些?
常用的有哪些?


一、传统的ajax(原生ajax)

应首先创建 XMLHttpRequest对象
这个对象包含的属性如下:

1.readyState:对象的状态:

  • 0:未初始化
  • 1:open方法成功调用send方法未调用
  • 2:send方法已调用,尚未开始接收数据
  • 3:正在接收数据,但尚未接收完成
  • 4:完成

2.onreadystatechange:状态改变的时间触发器
3.resposeText:相应的文本内容
4.status:返回的http状态码:200:成功,404未找到;500标识的服务器内部错误

该对象包含的方法有:
1.
open(String method, String url, Boolean asynch ,String username, String password)

url:请求的地址
method:请求的方法,get/post
asynch:是否采用异步方法,true为异步,false为同步
username和password 提供http认证机制的用户名,通常我们可以不用管。
2.
send():向服务器发出请求,异步,会立即返回 null不发送数据, dom输入流或者字符串
json:eval函数用于解析json数组,转换成json字符串

二、jQuery中的ajax

$.ajax{} 代表jQuery中最底层的ajax函数,其属性代表ajax的相关属性和设置

其写法为:

$.ajax({
url:"请求的路径",
type:"get/post请求方式",
data:{属性名:"属性值",属性名2:"属性值2"},
dataType:"text/json服务器所返回的类型",
success:function(data){},	//请求成功时调用的函数 data:服务器所返回的数据
error:function(){},		//请求失败调用的函数
statusCode:{
	"400":function(){展示内容},
	"500":function(){展示内容},
	"200":function(){展示内容},
		}
})

$.get()
$.post()
	url:请求的路径 $.ajax中的url
	data:请求的参数
	function(){}:请求成功调用的函数
	dataType:服务器返回的结果 text/json
$.get(url,{属性名:"属性值"},function(data){},"text/json")
$.getJson():
	$.getJson()为ajax获取json数据设置的,支持跨域的调用
		url:请求的路径
		data:请求的参数
		callback:返回成功的调用函数

$.get()和$.post()是对上面的原生ajax的封装,两个方法参数相同
$.post()和$.getJson()都是进行异步请求的方式,两个主要的区别在于:
$.post()请求返回的数据类型包括html \ text \ json \ xml ,但主要是text \ json
$.getJson()请求返回的数据只能是json格式

三、AngularJS(略)

四、表单中数据的提交方式

method = "get/post"
input 标签内添加个name=""
通过ajax进行返回数据的接收

五、JSP中的JSTL标签库

本方法主要用在JSP页面的数据交互

//引用JSTL的标签库,导入需要用的jar包
<%@ taglib url="http://java.sun.com/jsp/jstl/Core" prefix="c"%>
	<c:foreach items="${服务器所返回的数据}"var="展示的变量">
		<tr><td>${展示的变量.属性名或方法}</td></tr>