AJAX简述
2021-03-19 16:26
标签:发送 response let eth user 缺点 ref 提高 浏览器 异步的js和xml 可以通过AJAX实现异步访问服务器,并局部刷新网页 百度搜索框 如果是GET请求, 可以是null, 因为GET提交参数会拼接在url后面。 在XMLHttpRequest对象的一个事件上注册监听器:onreadystatechange 获取xmlHttp对象的状态: 获取服务器响应的状态码: 获取服务器响应的内容 AJAX简述 标签:发送 response let eth user 缺点 ref 提高 浏览器 原文地址:https://www.cnblogs.com/juzhuxiaozhu/p/12750821.html1.概述
2.同步交互与异步交互
向服务器发送一个请求,必须等待响应结束,才能发起第二个请求,
在服务器处理期间,浏览器不能干别的事。
通常会刷新整个页面。
向服务器发送一个请求,无须等待响应结束,就能发起第二个请求,
在服务器处理期间,浏览器可以干别的事。
通常会刷新局部页面3.应用场景
用户名检验
。。。4.优缺点
异步交互,提高了用户的体验。
服务器只响应了部分数据,而不是整个页面,所以降低了服务器的压力。
AJAX不适用所有场景,比如页面跳转。
AJAX会增加服务器压力,因为可能会无端增加访问服务器的次数5.JavaScript实现AJAX
第一步--获取XMLHttpRequest对象
var xmlHttp = ajaxFunction();
function ajaxFunction(){
var xmlHttp;
try{
//现代浏览器(IE7+、Firefox、Chrome、Safari 和 Opera)都有内建的 XMLHttpRequest 对象
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
//IE6.0
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
//IE5.0及更早版本
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert("...");
throw e;
}
}
}
return xmlHttp;
}
第二步--打开与服务器的连接
xmlHttp.open(method, url, async);
第三步--发送请求
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//通知服务器发送的数据是请求参数
xmlHttp.send("xxxx"); //注意, 如果不给参数可能会造成部分浏览器无法发送请求
xmlHttp.send("username="+username+"&psw="+)
参数:
如果是POST请求, 传入的就是请求参数,如:"username=张飞&psw=123"第四步--注册监听
一共有五个状态:(xmlHttp.readyState)
var state = xmlHttp.readyState;//可能得到0, 1, 2, 3, 4
var status = xmlHttp.status;
var data = xmlHttp.responseText;//得到服务器响应的文本格式的数据
// readyState0 --> 1
/* 注册监听, 时刻监听服务器处理请求的状态 */
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
//状态为4表示服务器已经处理完成, 但是不代表处理成功
if(xmlHttp.status == 200){//当状态码为200, 表示服务器成功的处理了请求
var result = xmlHttp.responseText();
//xxx
}
}
}
6.jQuery实现AJAX
$ .get() 或 $ .post()
$.get(url,[data],[callback])
load()
$(selector).load(url,[data],[callback])
ajax()
$.ajax(url,[data],[async],[type],[success])
下一篇:TCP/UDP/HTTP