찾다
웹 프론트엔드JS 튜토리얼JavaScript_jquery의 jQuery 라이브러리에서 AJAX를 작동하는 방법에 대한 설명

Java 소프트웨어 개발에서는 SSH 등의 다양한 프레임워크를 통해 백그라운드에서 코드를 캡슐화하여 Java 코드 작성을 용이하게 할 수 있습니다. 예를 들어 Struts 및 SpringMVC는 프런트 데스크에서 프로세스를 캡슐화하고 제어합니다. 이를 달성하려면 몇 가지 간단한 구성만 하면 됩니다. Spring은 다양한 객체 관리를 캡슐화하고 AOP 프로그래밍을 제공하므로 Hibernate와 IBatis는 JDBC 코드를 캡슐화하므로 반복적이고 복잡하게 작성할 필요가 없습니다. 매번 JDBC 코드.

프론트 데스크의 경우 일부 페이지 효과, 검증 등을 완료하기 위해 JavaScript 언어를 사용하지만 가장 기본적인 프론트 데스크 언어인 Java 코드와 똑같으며 JQuery는 js 코드를 캡슐화하는 편리한 방법입니다. 프런트엔드 코드 작성은 브라우저 호환성 문제를 해결하는 데에도 매우 큰 이점이 있으며, 이는 우리가 이를 사용하는 것이 매우 중요한 이유 중 하나입니다.

이제 사용자의 요구 사항을 충족하기 위해 Ajax(Asynchronous Javascript XML) 비동기 새로 고침은 비교할 수 없는 역할을 합니다. 과거에는 Ajax 작업을 작성하려면 항상 JDBC 코드와 같은 몇 가지 필수 단계를 수행해야 했습니다.
AJAX - 핵심 XMLHttpRequest 객체이며 JQuery는 Ajax 비동기 작업도 캡슐화합니다. 다음은 일반적으로 사용되는 몇 가지 방법입니다. $.ajax, $.post, $.get, $.getJSON.

$.ajax, 이는 JQuery가 ajax를 캡슐화하는 가장 기본적인 단계입니다. 이 함수를 사용하면 비동기 통신의 모든 기능을 완료할 수 있습니다. 즉, 어떤 상황에서도 이 메서드를 통해 비동기 새로 고침 작업을 수행할 수 있습니다. 하지만 매개변수가 너무 많아 때로는 약간 문제가 될 수도 있습니다. 일반적으로 사용되는 매개변수를 살펴보세요. 

 var configObj = {
    method  //数据的提交方式:get和post
    url  //数据的提交路劲
    async  //是否支持异步刷新,默认是true
    data  //需要提交的数据
    dataType  //服务器返回数据的类型,例如xml,String,Json等
    success  //请求成功后的回调函数
    error  //请求失败后的回调函数
  }
 
$.ajax(configObj);//通过$.ajax函数进行调用。


좋습니다. 실제 예를 살펴보고 비동기 삭제의 예를 살펴보세요.

Java 소프트웨어 개발에서는 SSH 등의 다양한 프레임워크를 통해 백그라운드에서 코드를 캡슐화하여 Java 코드 작성을 용이하게 할 수 있습니다. 예를 들어 Struts 및 SpringMVC는 프런트 데스크에서 프로세스를 캡슐화하고 제어합니다. 이를 달성하려면 몇 가지 간단한 구성만 하면 됩니다. Spring은 다양한 객체 관리를 캡슐화하고 AOP 프로그래밍을 제공하므로 Hibernate와 IBatis는 JDBC 코드를 캡슐화하므로 반복적이고 복잡하게 작성할 필요가 없습니다. 매번 JDBC 코드.

프런트 데스크는 페이지의 일부 효과, 검증 등에 대해 모두 JavaScript 언어를 사용하여 완성하지만 가장 기본적인 프런트 데스크 언어인 Java 코드와도 비슷하며 JQuery는 편리하게 우리가 프론트엔드 코드를 작성하는 것은 브라우저 호환성 문제를 해결하는 데에도 매우 큰 이점이 있으며, 이것이 우리가 이를 사용하는 것이 매우 중요한 이유 중 하나입니다.

이제 사용자의 요구 사항을 충족하기 위해 Ajax(Asynchronous Javascript XML) 비동기 새로 고침은 비교할 수 없는 역할을 합니다. 과거에는 Ajax 작업을 작성하려면 항상 JDBC 코드와 같은 몇 가지 필수 단계를 수행해야 했습니다.
AJAX - 핵심 XMLHttpRequest 객체이며 JQuery는 Ajax 비동기 작업도 캡슐화합니다. 다음은 일반적으로 사용되는 몇 가지 방법입니다. $.ajax, $.post, $.get, $.getJSON.

$.ajax, 이는 JQuery가 ajax를 캡슐화하는 가장 기본적인 단계입니다. 이 함수를 사용하면 비동기 통신의 모든 기능을 완료할 수 있습니다. 즉, 이 방법을 사용하여 어떤 상황에서도 비동기 새로 고침 작업을 수행할 수 있습니다. 하지만 매개변수가 너무 많아 때로는 약간 문제가 될 수도 있습니다. 일반적으로 사용되는 매개변수를 살펴보세요. 

 var configObj = {
    method  //数据的提交方式:get和post
    url  //数据的提交路劲
    async  //是否支持异步刷新,默认是true
    data  //需要提交的数据
    dataType  //服务器返回数据的类型,例如xml,String,Json等
    success  //请求成功后的回调函数
    error  //请求失败后的回调函数
  }
 
$.ajax(configObj);//通过$.ajax函数进行调用。


좋습니다. 비동기 삭제의 실제 예를 살펴보겠습니다.

<span style="font-size:18px;">     // 删除 
        $.ajax({ 
          type : "POST", //提交方式 
          url : "${pageContext.request.contextPath}/org/doDelete.action",//路径 
          data : { 
            "org.id" : "${org.id}" 
          },//数据,这里使用的是Json格式进行传输 
          success : function(result) {//返回数据根据结果进行相应的处理 
            if ( result.success ) { 
              $("#tipMsg").text("删除数据成功"); 
              tree.deleteItem("${org.id}", true); 
            } else { 
              $("#tipMsg").text("删除数据失败"); 
            } 
          } 
        }); 
</span> 

$.post,这个函数其实就是对$.ajax进行了更进一步的封装,减少了参数,简化了操作,但是运用的范围更小了。$.post简化了数据提交方式,只能采用POST方式提交。只能是异步访问服务器,不能同步访问,不能进行错误处理。在满足这些情况下,我们可以使用这个函数来方便我们的编程,它的主要几个参数,像method,async等进行了默认设置,我们不可以改变的。例子不再介绍。
url:发送请求地址。
data:待发送 Key/value 参数。
callback:发送成功时回调函数。
type:返回内容格式,xml, html, script, json, text,_default。
 
$.get,和$.post一样,这个函数是对get方法的提交数据进行封装,只能使用在get提交数据解决异步刷新的方式上,使用方式和上边的也差不多。这里不再演示。
 
$.getJSON,这个是进一步的封装,也就是对返回数据类型为Json进行操作。里边就三个参数,需要我们设置,非常简单:url,[data],[callback]。
 
其实会了$.ajax方法,其它的就都会使用了,都是一样的,其实非常简单。
 
但是这里还有一个问题,比较麻烦,就是如果页面数据量比较大,该怎么办呢?在常规表单的处理中,我们使用框架Struts2可以通过域驱动模式进行自动获取封装,那么通过ajax,如何进行封装呢?这里JQuery有一个插件,Jquery Form,通过引入此js文件,我们可以模仿表单Form来支持Struts2的域驱动模式,进行自动数据的封装。用法和$.ajax类似,看一下实际的例子,这里写一个保存用户的前台代码:
 

<span style="font-size:18px;"> $(function(){ 
    var options = { 
      beforeSubmit : function() {//处理以前需要做的功能 
        $("tipMsg").text("数据正在保存,请稍候..."); 
        $("#insertBtn").attr("disabled", true); 
      }, 
      success : function(result) {//返回成功以后需要的回调函数 
        if ( result.success ) { 
          $("#tipMsg").text("机构保存成功"); 
                   
                    //这里是对应的一棵树,后边会介绍到, 
          // 控制树形组件,增加新的节点 
          var tree = window.parent.treeFrame.tree; 
          tree.insertNewChild("${org.id}", result.id, result.name); 
        } else { 
          $("#tipMsg").text("机构保存失败"); 
        } 
        // 启用保存按钮 
        $("#insertBtn").attr("disabled", false); 
      }, 
      clearForm : true 
    }; 
   
    $('#orgForm').ajaxForm(options); //通过Jquery.Form中的ajaxForm方法进行提交 
  }); 
</span> 


这样我们就不用再进行数据data的封装处理,大大简化了我们ajax的操作这样异步刷新的操作。综上为JQuery中ajax的操作,感觉使用多了,和form表单的处理还是非常相似的,只不过实现的功能不一样罢了。学习编程,其实就是学习对数据的流转处理,如何从前台获取,传输到服务器进行相应的处理,然后返回,进行相关的显示,把这个流程通过一些技术实现,就完成了软件的开发,感觉还是非常有意思的。

利用 jQuery 简化 Ajax 开发

Ajax 并不是一种语言,它只是几种旧技术如 JavaScript 和 XML 以及 DOM 的综合应用,全称为 Asynchronous JavaScript and XML,即 异步 JavaScript 和 XML ,它能够在页面不刷新的前提下和服务器进行异步数据交互,如果运用得当,它能够很好的提高用户体验,还能节省带宽、降低服务器压力。作为一个优秀的 JavaScript 框架,jQuery 同样也提供了很多方法来处理 Ajax 的相关操作。
利用 Ajax 获取异步数据

传统 Ajax 一般步骤为:

  •     创建 XMLHttpRequest(需兼容各种浏览器)。
  •     向服务器发送 XMLHttpRequest 请求。
  •     监测 XMLHttpRequest 的 onreadystatechange 事件。
  •     判断服务端是否响应完成及响应结果是否正常。
  •     获取 Ajax 从服务端返回的结果。

例如用 Ajax 获取服务器上的当前时间,示例代码如下:

<html>
<head>
<title>Traditional Ajax</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript">
function getDateTime() { 
 var xmlHttp;
 if (window.XMLHttpRequest) {
 // For IE7+, Firefox, Chrome, Opera, Safari
 xmlHttp = new XMLHttpRequest();
 } else if (window.ActiveXObject) {
 // For IE6, IE5
 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
 xmlHttp.onreadystatechange = function() {
 if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
  document.getElementById("timediv").innerHTML = "现在时间" + xmlHttp.responseText;
 }
 }
 xmlHttp.open("GET", "ajax.php", true);
 xmlHttp.send(null);
}
</script>
</head>
<body>
 <div id="timediv">现在时间</div>
 <br /><input type="button" value="测试传统的 Ajax" onClick="getDateTime()" />
</body>
</html>

服务端代码为:

<&#63;php
 //服务器端为格林尼治标准时间,这里需设置为中国所在时区
 date_default_timezone_set("PRC");
 echo date("Y-m-d H:i:s");
&#63;>

可以看到,仅仅实现如此简单的功能,代码却如此冗长,特别是创建 XMLHttpRequest 的时候,还要兼容多种浏览器,另外还要监测 XMLHttpRequest 的 onreadystatechange 时间,以及返回的 readyState 和 status 状态,稍显麻烦。

jQuery 的 Ajax 方法,如果将上面的代码改写为 jQuery 的 Ajax 方法,代码如下:

<html>
<head>
<title>Traditional Ajax</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js&#63;ver=1.4.4"></script>
<script type="text/javascript">
function getDateTime() {
 $("#timediv").load("ajax.php");
}
</script>
</head>
<body>
 <div id="timediv"></div>
 <br /><input type="button" value="测试 jQuery 的 Ajax" onClick="getDateTime()" />
</body>
</html>

可以看到,jQuery 的 Ajax 方法,主要代码只有一行 $("#timediv").load("ajax.php");,相当之简单,而且绝对兼容各种主流浏览器。从这个例子可以看出,jQuery 大大的简化了 Ajax 的编码方式。
GET 还是 POST ?

上面的例子中的 load 函数固然方便,但是我们还是经常要指定 jQuery 到底是用 GET 方法还是 POST 方法,使用方法如下:

  $.get(url, [data], [callback])
  $.post(url, [data], [callback], [type])

GET 和 POST 的使用方法基本相同,参数 data 为向服务器发送的数据,callback 为回调函数,type 用来指定服务器返回的数据类型,如纯文本、XML、JSON 等。

下面来看具体例子:

<html>
<head>
<title>jQuery Ajax (get and post)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js&#63;ver=1.4.4"></script>
<script type="text/javascript">
$(document).ready(function() {
 // 为 GET 按钮添加事件
 $("#getbtn").click(function() {
 $.get("ajaxpage.php", {username:$("#username").val()}, function(data) {
  $("#ajaxdata").html(data); // 将服务端返回的数据填充到 P 标签中
 });
 });
 
 // 为 POST 按钮添加事件
 $("#postbtn").click(function() {
 $.post("ajaxpage.php", {username:$("#username").val()}, function(data) {
  $("#ajaxdata").html(data); // 将服务端返回的数据填充到 P 标签中
 });
 });
});
</script>
</head>
<body>
 你的大名:<input type="text" id="username" /><br />
 <input type="button" id="getbtn" value="GET 方法" /><br />
 <input type="button" id="postbtn" value="POST 方法" />
 <p id="ajaxdata"></p>
</body>
</html>

服务端代码为:

<&#63;php
 // 服务器端为格林尼治标准时间,这里需设置为中国所在时区
 date_default_timezone_set("PRC");

 $username = "";
 $ajaxMethod = "";
 
 // 判断是 GET 还是 POST
 if(isset($_GET["username"])) {
 $username = $_GET["username"];
 $ajaxMethod = "GET";
 } else {
 $username = $_POST["username"];
 $ajaxMethod = "POST";
 }

 echo "你好," . $username . ", 现在时间为:" . date("Y-m-d H:i:s"). ",此数据来源于 " . $ajaxMethod . " Ajax";
?>

可以看到,jQuery Ajax 的 GET 方法 和 POST 方法,使用起来依然相当之方便。
控制 Ajax

GET 和 POST 方法以及前面提到的 load 方法,使用起来虽然十分实用,但是某些时候却过于简单,很多时候我们都需要更多的控制 Ajax 的细节,jQuery 同样提供了一些方法来控制 Ajax 的细节,主要通过 $.ajax(options) 方法来实现,请看下面的代码片段:

<script type="text/javascript">
$(document).ready(function() {
 // 为 GET 按钮添加事件
 $("#getbtn").click(function() {
 $.ajax({
  type: "GET",
  url: "ajaxpage.php",
  data: {username:$("#username").val()},
  timeout: 3000,
  error: function() {
  alert("error!");
  },
  success: function(data) {
  // 回调函数,将返回的数据添加到 P 标签中
  $("#ajaxdata").html(data);
  }
 });
 });
 
 // 为 POST 按钮添加事件
 $("#postbtn").click(function() {
 $.ajax({
  type: "POST", // Ajax 提交方式
  url: "ajaxpage.php", // 提交页
  data: {username:$("#username").val()}, // 要提交的数据
  timeout: 3000, // 超时设置,单位为毫秒
  error: function() { // Ajax 发生错误时
  alert("error!");
  },
  success: function(data) {
  // 回调函数,将返回的数据添加到 P 标签中
  $("#ajaxdata").html(data);
  }
 });
 });
});
</script>

上面例子中,$.ajax(options) 中的 options 条目是可选的,并不是每个参数都要设置。对于有些参数而言,例如 timeout 和 error 在某个项目中是固定不变的,那么就没必要在每个 Ajax 代码中都写,可以用 jQuery 提供的全局 Ajax 设置的方法来设置一下,设置方法如下:

<script type="text/javascript">
$(document).ready(function() {
 // 全局 Ajax 设定,这里的设置将对本页面所有 Ajax 方法适用
 $.ajaxSetup({
 url: "ajaxpage.php", // Ajax 提交页
 timeout: 3000, // 超时设置,单位为毫秒
 error: function() { // Ajax 发生错误时
  alert("error!");
 }
 });
 
 // 为 GET 按钮添加事件
 $("#getbtn").click(function() {
 $.ajax({
  type: "GET",
  data: {username:$("#username").val()},
  success: function(data) {
  // 回调函数,将返回的数据添加到 P 标签中
  $("#ajaxdata").html(data);
  }
 });
 });
 
 // 为 POST 按钮添加事件
 $("#postbtn").click(function() {
 $.ajax({
  type: "POST", // Ajax 提交方式
  data: {username:$("#username").val()}, // 要提交的数据
  success: function(data) {
  // 回调函数,将返回的数据添加到 P 标签中
  $("#ajaxdata").html(data);
  }
 });
 });
});
</script>

上面例子中,在全局设定里面设置好了的参数,在整个页面中都会生效,这个功能可以大大的减少重复的代码。

以上这些就是 jQuery Ajax 的几种简单使用方式,而且上面的几个例子中服务器返回的数据都是纯文本,如果是在复杂的 Ajax 应用中,可能就需要用到 XML 或者 JSON 了。
      

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.