文章目录

  • AJAX
    • 1.$.ajax() 核心函数
      • 1.1语法
    • 2 $.get()
      • 2.1语法
      • 2.2例子
    • 3 $.post()
      • 3.1语法
    • 4.实战(对比)

AJAX

​ 使用jQuery提供的函数实现Ajax请求的处理。代替直接使用XMLHttpRequest,但是jQuery实际还是使用的异步对象。

​ jQuery提供多个与AJAX有关的方法。通过jQuery AJAX方法,您能够使用HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML或JSON同时能够把接收的数据更新到DOM对象。

1.$.ajax() 核心函数

​ $.ajax()是jQuery中AJAX请求的核心方法,所有的其他方法都是在内部使用此方法。

1.1语法

$.ajax({name:value,name:value,....})//json格式的参数
//json格式的参数:key是定义好的,需要开发人员给key赋值。这些key是用来表示Ajax请求必须的参数。

PS:

​ 1.参数是json数据,包含请求方式,数据,回调方法等。

​ 2.json格式的参数:key是定义好的,需要开发人员给key赋值。这些key是用来表示Ajax请求必须的参数。

​ 3.例如:请求的url地址,是不是异步请求,请求的方式等等。

$.ajax({//除了必用的,其他的都可以省略url:"queryProvinceServlet",//必用的。type:"get",data:{"name":"李四","age":20},dataType:"json",success:function(resp){  开发人员获取数据,更新dom对象  },//必用的。error:function(){alert("请求错误")}
})

参数:

url:服务器端的地址,例如某个servlet的访问地址。queryProvinceServlet

type:表示请求方式,get,post。默认是get。这个值不用区分大小写。

data:表示提交的请求参数,可以是String,数组,json类型的。推荐使用json格式。

​ 例如:data:(“name”:“李四”,“age”:20)

​ jQuery在发送请求时,会把json中的key作为请求的参数使用,key对应的值作为参数数据。

​ queryProvinceServlet转为的结果:http://localhost:8080/myweb/queryProvinceServlet?name=李四&age=20

dataType:

​ 数据格式,可以是HTML、text、xml、json等等。表示发起请求后,希望服务器端返回的数据格式。

​ jQuery可以尝试使用对应格式处理返回的数据。比如你指定了dataType,表示希望服务器返回的是json格式数据。然后jQuery把json数据转为json对象。

​ 服务器代码可以获取到dataType的内容。

​ 例如:请求中dataType:“json”,jQuery发起请求后,在请求头中

Accept application/json, text/javascript, /; q=0.01

​ 如果dataType:“text”,请求中Accept:text/plain,/;q=0.01

success:

​ 函数function。当服务器端返回了数据,jQuery处理完数据后,执行这个函数。等同于异步对象的

readyState==4&&status==200//表示接收数据

的情况。

​ 例如:sucess:function(resp){开发人员处理服务器返回的数据}

​ resp是自定义形参,相当于 resp = xhr.responseText;

error:

​ function(),当请求错误时,执行这个函数。

contentType:

​ 表示请求的参数数据格式。例如application/json,这个内容可以不写。

async:

​ 是一个Boolean值,表示请求是同步的还是异步的。true是异步的,默认是true;false是同步的。

2 $.get()

​ $.get()这个函数就是执行get请求方式的ajax。

2.1语法

$.get(url,请求参数,success函数,dataType);

2.2例子

​ 这种方式比$.ajax()要简便很多。

$.get("queryName",{"proid":1},function(resp){获取省份名称},"text");

3 $.post()

​ $.get()这个函数就是执行get请求方式的ajax。

3.1语法

$.post("queryName",{"proid":1},function(resp){获取省份名称},"text");

4.实战(对比)

传送门:https://blog.csdn.net/gao1213977085/article/details/119117443?spm=1001.2014.3001.5501
之前使用js语句实现Ajax,但是使用jQuery实现Ajax更简便清晰。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>使用Ajax查询省份名称</title><script type="text/javascript" src="js/jquery-3.4.1.js"></script><script type="text/javascript">$(function () {//给按钮绑定事件    开始$("#btnSearch").on("click",function () {//alert("button click");$.ajax({url:"queryJson",type:"get",data:{"proid":$("#proid").val()},dataType:"json",success:function (resp) {//resp是服务器返回的数据,这个数据先通过jQuery处理的。//jQuery按照dataType的格式,可以把服务器返回的数据转为json对象。//alert("resp===="+resp) //[object]//更新dom$("#proname").val(resp.name);$("#projiancheng").val(resp.jiancheng);$("#proshenghui").val(resp.shenghui);}})})//事件完成$("#btnGet").click(function () {$.get("queryJson",{"proid":$("#proid").val()},function (resp) {alert("收到的数据="+resp)},"json")})})</script>
</head>
<body>
<div align="center"><p>根据id查询省份全部信息</p><table><tr><td>省份id:</td><td><input type="text" id="proid"></td></tr><tr><td>省份名称</td><td><input type="text" id="proname"></td></tr><tr><td>省份简称:</td><td><input type="text" id="projiancheng"></td></tr><tr><td>省会名称:</td><td><input type="text" id="proshenghui"></td></tr><tr><td>操作</td><td><input type="button" id="btnSearch" value="查询" ><input type="button" id="btnGet" value="Get查询"></td></tr></table>
</div>
</body>
</html>

public class QueryProvinceServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String json ="";String strProid = request.getParameter("proid");Province p = null;//判断是否为空,并且不为空字符串if(strProid!=null&&!strProid.trim().equals("")){ProvinceDao dao = new ProvinceDao();p = dao.queryProvinceName(Integer.valueOf(strProid));//把对象转为json,才通过HttpServletResponse输出。if(p!=null){//说明查出了真实的对象。ObjectMapper om = new ObjectMapper();json = om.writeValueAsString(p);//得到一个JSON格式的字符串}}//获取请求头中的acceptString accept=request.getHeader("Accept");System.out.println("请求头accept = "+accept);System.out.println("sevlet province转为json==="+json);//可以处理不同的请求if(accept.startsWith("application/json")){response.setContentType("application/json;charset=utf-8");PrintWriter out = response.getWriter();out.println(json);out.flush();out.close();}else if(accept.startsWith("text/plain")){response.setContentType("application/json;charset=utf-8");PrintWriter out = response.getWriter();out.println("文本数据="+p.toString());out.flush();out.close();}//输出json给ajax请求。//application/json;给浏览器输出的是一个json格式的数据格式/*response.setContentType("application/json;charset=utf-8");PrintWriter out = response.getWriter();out.println(json);out.flush();out.close();*/}
}

Ajax详解第六篇(jQuery实现Ajax)相关推荐

  1. IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR

    失败请求跟踪规则(FailedRequest Tracing Rules)是IIS7中对请求处理进行诊断的强大的工具.我们本篇文章将会带领大家一步步的来配置失败请求跟踪规则,并且告诉大家如何使用这些信 ...

  2. 负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础

    负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负 ...

  3. 负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解

    负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负载均衡的基 ...

  4. Java程序员从笨鸟到菜鸟之(八十九)跟我学jquery(五)jquery中的ajax详解

    Ajax让用户页面丰富起来, 增强了用户体验. 使用Ajax是所有Web开发的必修课. 虽然Ajax技术并不复杂, 但是实现方式还是会因为每个开发人员的而有所差异.jQuery提供了一系列Ajax函数 ...

  5. Asp.Net+Jquery.Ajax详解5-$.getScript

    目录(已经更新的文章会有连接,从7月25日开始,每2到3天更新一篇): Asp.Net+Jquery.Ajax详解1-开篇(2012.07.25发) Asp.Net+Jquery.Ajax详解2-$. ...

  6. 史上最简单MySQL教程详解(进阶篇)之视图

    史上最简单MySQL教程详解(进阶篇)之视图 为什么要用视图 视图的本质 视图的作用 如何使用视图 创建视图 修改视图 删除视图 查看视图 使用视图检索 变更视图数据 WITH CHECK OPTIO ...

  7. PullScrollView详解(六)——延伸拓展(listview中getScrollY()一直等于0、ScrollView中的overScrollBy)

    前言:经常说follow your heart.但等到真到这么一天的时候,却很艰难 相关文章: 1.<PullScrollView详解(一)--自定义控件属性> 2.<PullScr ...

  8. IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡(上)...

    IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡(上) 在前两篇文章中,我们已经讲述如何配置与安装ARR,从本篇文章开始,我们将重点的 ...

  9. Spotify敏捷模式详解三部曲第二篇:研发过程

    本文转自:Scrum 中文网 引言 在本系列文章的第一篇,我们介绍了Spotify的敏捷研发团队,以及它独特的组织架构.Spotify的研发团队采用的是一种非常独特的组织架构,如下图所示: 整个研发组 ...

最新文章

  1. BST(binary search tree)类型题目需要用到的头文件binary_tree.h
  2. 通俗理解注意力机制中的Q、K和V表示的具体含义
  3. 干货丨从起源到具体算法,这是一份适合所有人读的深度学习综述论文
  4. Git/TortoiseGit使用
  5. 正则化的通俗解释_干货|深度学习中的正则化技术概述(附Python+keras实现代码)...
  6. 图像的存储格式转化(python实现)
  7. P1032-字串变换【bfs】
  8. 【今日CV 计算机视觉论文速览 第107期】Mon, 29 Apr 2019
  9. 关于es6的一些文章
  10. Spring 入门程序
  11. close wait 过多原因_从Linux源码看TIME_WAIT状态的持续时间
  12. 可恶的Java数组下标越界检查
  13. 谷歌死磕亚马逊,CES 舞台上的语音入口争夺战
  14. 浅谈Linq to Sql 的不足
  15. WSO2 Micro Integrator环境安装及部署
  16. Word中插入图片只显示一部分
  17. gitee、github使用教程
  18. matlab 图像 变成二维,matlab三维图像变二维
  19. 基于二极管的温度检测电路
  20. echarts 文本标签配置 label文字样式

热门文章

  1. html table边框加粗,table加边框记录
  2. Component series.line not exists. Load it first.
  3. 跟我StepByStep学FLEX教程------概述(原创)
  4. 华为防火墙查看日志命令_华为防火墙命令
  5. mac 取消 “Ctrl+空格“切换输入法
  6. 题解-hzy loves segment tree I
  7. Android热修复实现一
  8. Windows编程 第四回 Windows程序的生与死(下)
  9. jq将时间戳转为标准时间
  10. 量子计算机原理以及量子算法