Js原生Ajax和Jquery的Ajax
2017-05-30 13:58
459 查看
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:阿里巴巴
相关文章推荐
- JS原生ajax与Jquery插件ajax深入学习
- Jquery学习笔记(10)--ajax删除用户,使用了js原生ajax
- 【JavaEE】javaEE学习笔记之Js原生Ajax和jQuery 的Ajax
- 史上最全ajax(原生JS,javascript版,非jquery)详细注释!
- AJAX 原生js以及Jquery解析html,xml,txt,json格式文本
- Ajax(原生js实现、jQuery实现、跨域)
- js原生ajax与jquery的ajax的用法区别
- 原生js,jquery ajax请求以及jsonp的调用
- 原生js实现对Ajax的封装(仿jquery)
- 通过原生js的ajax或jquery的ajax获取服务器的时间
- jquery和原生js-ajax
- 原生JS与jQuery对AJAX的实现
- Ajax解析html、xml、json、js原生方式、jquery方式
- js原生ajax与jQuery的ajax
- Ajax-Js原生Ajax和Jquery的Ajax(一)
- 原生js与jquery实现ajax
- 原生js方式实现ajax,并仿jquery方式简单调用
- 原生js实现对Ajax的封装(模仿jquery)
- Jquery揭秘系列:ajax原生js实现详解(推荐)
- 原生js,jquery通过ajax获得后台json数据动态新增页面元素