目录
一、Ajax知识点总览。


二、原生js方式实现Ajax:


原生js方式的Ajax:
<script>
//老版本的 Internet Explorer(IE5 和 IE6)不支持 XMLHttpRequest 对象。
//为了对付 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象,亦或创建 ActiveXObject 对象
//定义方法
function fun(){
//放松异步请求
//1.创建核心对象
var xmlhttp;
if (window.XMLHttpRequest) {
// 用于现代浏览器的代码
xmlhttp = new XMLHttpRequest();
} else {
// 应对老版本 IE 浏览器的代码
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//2.建立连接
/*
参数:
1.请求方式:GET/POST
* get方式:请求参数在URL后面拼接,send方法为空参
* post方式:请求参数在send方法中定义
2.请求的URL:要访问的服务器资源路径
3.同步或异步请求:同步false、异步true
*/
xmlhttp.open("GET", "/ajaxServlet?username=tom", true);
//3.发送请求
xmlhttp.send();//get方式
// xmlhttp.send("username=tom");//post方式
//4.接收并处理来自服务器的响应结果
//获取响应数据方式:xmlhttp.responseText()
//什么时候获取?当服务器响应成功后再获取
//当xmlhttp对象就绪状态改变时,就触发事件onreadystatechange(理解:readyState(0-4)改变的时候触发该事件,然后if判断是否响应成功,成功就获取数据)
//每当readyState 属性改变时,就会调用该函数。即 触发事件
xmlhttp.onreadystatechange=function()
{
//判断readyState就绪状态是否为4,并且status状态码为200
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//获取服务器的响应结果
// document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
let responseText = xmlhttp.responseText;
alert(responseText);
}
}
}
</script>
<input type="button" value="发送异步请求" onclick="fun();">
<!--同步的时候发送请求后,点击文本输入框,获取不了焦点-->
<input>
三、$.ajax()方式。
<script>
//定义方法
function fun(){
//使用$.ajax()发送异步请求
//注意:每一个键值对的结束都要逗号结束,不然出错(最后一个键值对可用可不用)
$.ajax({
url:"/ajaxServlet",//请求路径,一定要斜杠,不然会出错
type:"post",//请求方式
// data:"username=jack&age=23",//请求参数
data:{"username":"jack","age":23},//请求参数,JSON方式
success:function (data) {
alert(data);
},//响应成功后的回调函数
error:function () {
},//请求或响应出现错误,会执行的回调函数。比如路径出错
dataType:"text"
});
}
</script>
<input type="button" value="发送异步请求" onclick="fun();">
<input>
四、$.get()方式。
<script>
function fun(){
$.get("/ajaxServlet",{"username":"rose","age":23},function (data) {
alert(data);
},"text");//后面三个参数是可选的,可不写
}
</script>
<input type="button" value="发送异步请求" onclick="fun();">
<input>
五、$.post()方式。
<script>
function fun(){
$.post("/ajaxServlet",{"username":"rose","age":23},function (data) {
alert(data);
},"text");//后面三个参数是可选的,可不写
}
</script>
<input type="button" value="发送异步请求" onclick="fun();">
<input>
六、通过ajax将html文件内容导入另一个html文件。
$(function () {
$.get("header.html",function (data) {
$("#header").html(data);
});
$.get("footer.html",function (data) {
$("#footer").html(data);
});
});
<!--引入头部-->
<div id="header"></div>
正文...
<!--导入底部-->
<div id="footer"></div>
本文详细介绍了Ajax的实现方法,包括原生JavaScript通过XMLHttpRequest对象及jQuery的$.ajax、$.get、$.post等便捷接口,展示了如何通过Ajax在前后端交互中动态加载HTML内容。

被折叠的 条评论
为什么被折叠?



