jquery实现Ajax请求的方法:1、“$.ajax()”方法;2、“$.post()”方法,代码为“$.post(url, data, func, dataType);”;3、“$.get()”方法,代码为“$.get(url, data, func, dataType);”;4、“$.getJSON()”方法等等。
本教程操作系统:Windows10系统、jQuery3.6.0版本、Dell G3电脑。
jquery实现Ajax请求
Ajax用于无需刷新整个页面而进行浏览器与服务器的通信,服务器将不再返回整个页面,而是返回部分数据,通过JavaScript的DOM操作对节点进行更新。数据传输格式有xml、json等格式,但常用的是json格式。
我们可以使用JavaScript的对象XMLHttpRequest来实现原生Ajax,但这种方法比较复杂,不易编写。jQuery已经封装了Ajax,使得发起Ajax请求比较容易,本文简单介绍jQuery实现Ajax的过程:
1、在标记中引入jquery.js文件
<script src="https://code.jquery.com/jquery-3.6.1.js"></script>
2、几种常见jQuery的Ajax方法
(1)$.ajax()
①url:链接地址,字符串表示
②data:(可选) 要发送给服务器的数据,GET与POST都可以,将自动转换为请求字符串格式,以Key/value的键值对形式表示,会做为QueryString附加到请求URL中,格式为{A: ‘…’, B: ‘…’}
③type:“POST” 或 “GET”,请求类型
④timeout:请求超时时间,单位为毫秒,数值表示
⑤cache:是否缓存请求结果,bool表示
⑥contentType:内容类型,默认为"application/x-www-form-urlencoded"
⑦dataType:服务器响应的数据类型,字符串表示;当填写为json时,回调函数中无需再对数据反序列化为json
⑧success:请求成功后,服务器回调的函数
⑨error:请求失败后,服务器回调的函数
⑩complete:请求完成后调用的函数,无论请求是成功还是失败,都会调用该函数;如果设置了success与error函数,则该函数在它们之后被调用
⑪async:是否异步处理,bool表示,默认为true;设置该值为false后,JS不会向下执行,而是原地等待服务器返回数据,并完成相应的回调函数后,再向下执行
⑫username:访问认证请求中携带的用户名,字符串表示
⑬password:返回认证请求中携带的密码,字符串表示
<script type="text/javascript"> function login1(){ $.ajax({ //${pageContext.request.contextPath}用于取后端方法的绝对路径的项目名 url: "${pageContext.request.contextPath}/user/returnJson", type: "GET", data:'{name: 'James'}', //必须是字符串格式 contentType:"application/json", //指定内容格式 dataType:json, success: function(data) { //括号里的data是服务器返回的数据 console.log(data); document.getElementById("myDiv").innerText=data["name"]; } }); } </script>
<script> $('#btn1').click(function () { $.ajax({ type:"post", //提交方式 url:'${pageContext.request.contextPath}/JSONServlet', data:{ bookname: $("#bookname").val()//val() 方法返回或设置被选元素的值。 }, dataType: "json", //返回数据的格式 success:function (responseData) { var html = ""; $('#dataTable tr:not(:first)').remove(); //删除第一行之外的所有行 // $('#dataTable > tbody > tr').remove(); // 删除所有行,表头会被删除 console.log(responseData); for (var i = 0; i < responseData.length; i++) { html += '<tr>'; html += '<td>'+responseData[i].bookid+'</td>'+'<td>'+responseData[i].bookname+'</td>'+'<td>'+responseData[i].price+'</td>' html += '</tr>'; } $('#dataTable').append(html); }, }); }); </script>
(2)$.post()
使用POST方式执行Ajax请求,从服务器加载数据。
形式:$.post(url, data, func, dataType);
可选参数:
①url:链接地址,字符串表示
②data:需要发送到服务器的数据,格式为{A: ‘…’, B: ‘…’}
③func:请求成功后,服务器回调的函数;function(data, status, xhr),其中data为服务器回传的数据,status为响应状态,xhr为XMLHttpRequest对象,个人感觉关注data参数即可
④dataType:服务器返回数据的格式
<script type="text/javascript"> function login2(){ $.post( "${pageContext.request.contextPath}/user/returnJson", '{name: 'James'}', "application/json", function(data) { console.log(data); document.getElementById("myDiv").innerText=data["name"]; } ); } </script>
(3)$.get()
使用GET方式执行Ajax请求,从服务器加载数据。
形式:$.get(url, data, func, dataType);
<script type="text/javascript"> function login3(){ $.get( "${pageContext.request.contextPath}/user/returnJson", function(data) { console.log(data); document.getElementById("myDiv").innerText=data["name"]; } ); } </script>
(4)$.getJSON()
形式:$.getJSON(url, data, func);
使用GET方式执行Ajax请求,从服务器加载JSON格式数据。
<script type="text/javascript"> function login4(){ $.getJSON( "${pageContext.request.contextPath}/user/returnJson", function(data) { console.log(data); document.getElementById("myDiv").innerText=data["name"]; } ); } </script>
注意:因为确定服务器返回的数据格式为json,因此该方法不必再指定dataType。
(5)$.load()
将服务器加载的数据直接插入到指定DOM中的某个节点中。
形式:$.load(url, data, func);
其中data如果存在则使用POST方式发送请求,不存在则使用GET方式发送请求。
<div id="myRes"></div> function login5() { $('#myRes').load( "${pageContext.request.contextPath}/user/returnJson", '{name: 'James'}', "application/json" ); }
以上是jquery如何实现Ajax请求的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器