Ajax实现局部刷新

  • 前言
  • 一、 Ajax是什么?
  • 二、实现方式:
  • 1.原生的JS实现方式(了解)
  • 2.JQeury实现方式
    • 1. $.ajax()
    • 2. $.get():发送get请求(ajax的简化)
    • 3. $.post():发送post请求(ajax的简化)
  • 小栗子

前言

最近复习了一下jQuery的一些内容,特此整理一下一些能用的得到的知识点,以前才学jQuery的时候压根就没有注意到那么多的细节,另外最近一直都在整理前端的一些工作中学到的小经验,大概还会有十篇左右的内容,就会慢慢开始整理后端,框架,以及数据库的一些小知识点


一、 Ajax是什么?

概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML

  1. 异步和同步:客户端和服务器端相互通信的基础上
         -> 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。
         ->客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作

  2. Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
         ->通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
         -> 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

二、实现方式:

1.原生的JS实现方式(了解)

javascript代码如下(示例):

 //javascript代码var xmlhttp;//1.创建核心对象if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp = new XMLHttpRequest();} else {// code for IE6, IE5xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}//2. 建立连接/*  参数:1. 请求方式:GET、POST* get方式,请求参数在URL后边拼接。send方法为空参* post方式,请求参数在send方法中定义2. 请求的URL:3. 同步或异步请求:true(异步)或 false(同步)*///将URL改成你自己的地址xmlhttp.open("GET", "<%=request.getContextPath()%>/testDemo?name=zhangsan", true);//3、将请求发送到服务器。xmlhttp.send();//4.接受并处理来自服务器的响应结果//获取方式 :xmlhttp.responseText//当xmlhttp对象的就绪状态改变时,触发事件onreadystatechange。//接收服务器端的响应(readyState=4表示请求已完成且响应已就绪    status=200表示请求响应一切正常)xmlhttp.onreadystatechange = function () {//判断readyState就绪状态是否为4,判断status响应状态码是否为200if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {//获取服务器的响应结果var responseText = xmlhttp.responseText;alert(responseText);}}

java后端接收代码如下(示例):

     //.取得参数,String name=request.getParameter("name");System.out.println(name);//打印输出取得的参数//将数据信息回写给ajaxresponse.getWriter().write("hello");

2.JQeury实现方式

代码如下(示例):

1. $.ajax()

-> 语法:$.ajax({键值对});

代码如下(示例):

 //使用$.ajax()发送异步请求$.ajax({url: "<%=request.getContextPath()%>/testDemo", // 请求路径type: "POST", //请求方式data: {"name": "zhangsan"},//请求参数dataType: "JSON", //设置接受到的响应数据的格式,还有很多格式,如:text//async:false,//默认是true(异步),false(同步)success: function (data) {//响应成功后的回调函数alert(data);},error: function () {alert("出错啦...");},});//java代码和上述java代码一样即可

2. $.get():发送get请求(ajax的简化)

-> 语法:$.get(url, [data], [callback], [type])
    * url:请求路径
    * data:请求参数
    * callback:回调函数
    * type:响应结果的类型

代码如下(示例):

 $.get("<%=request.getContextPath()%>/testDemo",{name:"zhangsan"},function (data) {alert(data);},"text");

3. $.post():发送post请求(ajax的简化)

->语法:$.post(url, [data], [callback], [type])
    * url:请求路径
    * data:请求参数
    * callback:回调函数
    * type:响应结果的类型
代码如下(示例):

  $.post("<%=request.getContextPath()%>/testDemo",{name:"zhangsan"},function(data) {alert(data);},"text");

小栗子

jsp页面:

<%--Created by IntelliJ IDEA.User: ASUSDate: 2021/3/2Time: 22:20To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><title>ajax局部刷新</title><script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.11.0.js"></script><style type="text/css">input {width: 260px;height: 25px;}input:focus {//按钮点击后改变颜色background: #10a0e9;}</style>
</head>
<body style="text-align:center;">
<input type="button" value="btn1" onclick="btnfun1()">
<input type="button" value="btn2" onclick="btnfun2()">
<input type="button" value="btn3" onclick="btnfun3()">
<br>
<span>你好啊!!我叫:</span>
<div id="div1">
</div>
</body><script type="text/javascript">function btnfun1() {$.ajax({url: "<%=request.getContextPath()%>/ajaxServlet", //上传URLtype: "POST", //请求方式data: {"flag": "one"}, //需要上传的数据dataType: "text", //设置接受到的响应数据的格式success: function (data) {  //请求成功console.log(data);$("#div1").html(data);},error: function () {alert("出错啦...");},//表示如果请求响应出现错误,会执行的回调函数});}function btnfun2() {$.ajax({url: "<%=request.getContextPath()%>/ajaxServlet",  //上传URLtype: "POST", //请求方式data: {"flag": "two"}, //需要上传的数据dataType: "text", //设置接受到的响应数据的格式success: function (data) {  //请求成功console.log(data);$("#div1").html(data);},error: function () {alert("出错啦...");},//表示如果请求响应出现错误,会执行的回调函数});}function btnfun3() {$.ajax({url: "<%=request.getContextPath()%>/ajaxServlet",  //上传URLtype: "POST", //请求方式data: {"flag": "three"}, //需要上传的数据dataType: "text", //设置接受到的响应数据的格式success: function (data) {    //请求成功console.log(data);$("#div1").html(data);},error: function () {alert("出错啦...");},//表示如果请求响应出现错误,会执行的回调函数});}
</script></html>

java代码

package test3_2.ajax;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/ajaxServlet")
public class AjaxServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html; charset=UTF-8");response.setCharacterEncoding("UTF-8");//1、获取ajax传递过来的参数信息String flag = request.getParameter("flag");System.out.println(flag);//2、需要返回的数据信息String data = " ";if("one".equals(flag)){//流行歌曲data = "张三";}else if("two".equals(flag)){//经典歌曲data = "李四";}else if("three".equals(flag)){//摇滚歌曲data = "老王";}//3、将数据信息回写给ajaxresponse.getWriter().write(data);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}
}

截图:

你可能会感兴趣~~《Ajax传输数组与后端接收》

创作不易,如果这篇文章能够帮助到你,希望能关注或收藏一下博主,如果文章内容有问题也可留言讨论,我们一起学习,一起进步!!

Ajax实现局部刷新相关推荐

  1. ajax局部刷新 php,PHP中ajax的局部刷新

    最近做的项目用php5开发,现在将使用的局部刷新总结下: 1,使用情况是:我点击本页面,要使本页面的某块局部刷新: 本页面通过这种方式包含局部页面: function localRef(){ var ...

  2. asp.net mvc3 利用Ajax实现局部刷新

    1.利用Ajax.ActionLink()方法 首先在_Layout.cshtml文件中加载 运行AJAX必要的Jquery <script src="@Url.Content(&qu ...

  3. .NET ASP.NET 中web窗体(.aspx)利用ajax实现局部刷新

    C#所有runat="server"的控件都会造成整个界面的刷新,如果想实现局部刷新,可以利用ajax.需要加入的控件有ScriptManager和UpdatePanel,可以实现 ...

  4. java ajax 局部刷新,使用AJAX实现局部刷新的示例

    一个AJAX局部刷新的例子: 前台页面: AJAX局部刷新 后台页面:[getPart.asp] dim rs dim sql Set rs = Server.CreateObject("A ...

  5. ajax自动局部刷新,jQuery如何实现AJAX定时刷新局部页面

    jQuery如何实现AJAX定时刷新局部页面 发布时间:2021-06-25 09:47:48 来源:亿速云 阅读:75 作者:小新 这篇文章主要介绍了jQuery如何实现AJAX定时刷新局部页面,具 ...

  6. ajax实现局部刷新例子,AJAX局部刷新例子

    放你的东西 总结 以上是编程之家为你收集整理的AJAX局部刷新例子全部内容,希望文章能够帮你解决AJAX局部刷新例子所遇到的程序开发问题. 如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序 ...

  7. 【Spring MVC学习笔记 六】SpringMVC框架整合AJAX完成局部刷新

    本篇Blog介绍另一个常用的技术Ajax.虽然Ajax可以脱离SpringMVC去使用,但是SpringMVC对AJax有更好的支持 AJAX概念概述 AJAX即Asynchronous Javasc ...

  8. ajax实现局部删除,Express+AdminLTE+hbs+Ajax实现局部刷新终极版(第二部分)

    上一篇中已经把所有思路都理顺了,这边我们就开始具体编码吧.(如果您有更好的办法,欢迎留言讨论!互相学习!) 我们先来看一下最终完成的效果: 一:完整项目目录结构如图所示: 二:更换模板引擎为  hbs ...

  9. IE ajax无局部刷新_se7en3_新浪博客

    原代码: jQuery.get("/Order/OrderMenu", function (data) {                     jQuery("#or ...

最新文章

  1. strtol() 字符串转长整型函数
  2. java(7)——+=的妙用
  3. 操作系统大内核和微内核_操作系统中的内核
  4. SpringBoot与安全
  5. getconf 取系统配制 --CPU
  6. tcp协议和udp协议区别_TCP和UDP协议有什么区别?
  7. objective-c和java下解析对象类型和数组类型JSON字符串
  8. ubuntu使用CNKI官方的caj浏览器
  9. ice1000烧写程序_[转载]Altera FPGA的EPCS配置的2种方法FPGA下载程序的方法(EPCS)
  10. 《东周列国志》第六十八回 贺虒祁师旷辨新声 散家财陈氏买齐国
  11. 撞了南墙要记得回头看看
  12. 可视化展示炫酷3D图表
  13. 车仪表台上的装饰_45汽车仪表盘装饰_汽车仪表盘种类
  14. matlab实用小程序段 —— 串口发送和读取
  15. 水气表下行通信规约 188 V1.0 版协议
  16. transition transform translate 之间的区别
  17. 用伪造的TCP协议头花式欺骗核心转发设备?
  18. Linux进程僵死原因排查思路
  19. 群签名和环签名的区别_环签名与群签名
  20. github上值得关注的前端项目

热门文章

  1. 2020计算机一级b试题,(2020年编辑)全国计算机等级考试一级B模拟试题及答案(5)
  2. TAU1312模块配置记录
  3. Excel导入数据库回滚
  4. 利用BT构建简单的CDN网络
  5. 0903 无源滤波器;
  6. 陈天奇明年将加入CMU出任助理教授
  7. 深度学习三巨头Hinton,Bengio,LeCunn共摘本年度ACM图灵奖(ACM A.M. Turing Award)
  8. 【数项级数】敛散性判别
  9. js快速计算文件hash值
  10. 快速改变文件hash值的方法