Js原生Ajax和Jquery的Ajax

xiaoxiao2021-02-27  522

1.什么是同步,什么是异步

同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态

异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事情,不会被卡死

 

2.Ajax的运行原

3.页面发起请求,会将请求发送给浏览器内核中的Ajax理

引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面1 功能。

我们先来看一下Js原生Ajax,因为这是底层实现,当学完了Js原生Ajax后再来看Jquery的Ajax就是So easy了!

代码走起:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script> $(function() { $("#one").click(function() { /* 1)创建Ajax引擎对象 2)为Ajax引擎对象绑定监听(监听服务器已将数据响应给引擎) 3)绑定提交地址 4)发送请求 5)接受响应数据 */ var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv1").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","/ajax/AServlet",true); xmlhttp.send(); }) }) </script> <body> <input type="submit" value="一步提交" id="one"/><div id="myDiv1"></div> <br/> <input type="submit" value="同步提交" id="tow"/><div id="myDiv2"></div><br/> </body> </html>简单的ajax入门就算是完事了,但是我们发送的数据却是格式不良好的,为此我们使用json来保证我们传送的数据的格式良好。

j

一、Json数据格式(重要)

 

json是一种与语言无关的数据交换的格式,作用:

使用ajax进行前后台数据交换

移动端与服务端的数据交换

 

1.Json的格式与解析

json有两种格式:

1)对象格式:{"key1":obj,"key2":obj,"key3":obj...}

2)数组/集合格式:[obj,obj,obj...]

 

例如:user对象 用json数据格式表示

{"username":"zhangsan","age":28,"password":"123","addr":"北京"}

 

List<Product> 用json数据格式表示

[{"pid":"10","pname":"小米4C"},{},{}]

 

注意:对象格式和数组格式可以互相嵌套

 

注意:json的key是字符串  jaon的value是Object

 

json的解析:

json是js的原生内容,也就意味着js可以直接取出json对象中的数据

 

 

2.Json的转换插件

 

java的对象或集合转成json形式字符串

 

json的转换插件是通过java的一些工具,直接将java对象或集合转换成json字符串。

常用的json转换工具有如下几种:

1)jsonlib

2)Gson:google

3)fastjson:阿里巴巴

转载请注明原文地址: https://www.6miu.com/read-317.html

最新回复(0)