浅谈前后端交互之AJAX

本文详细介绍了AJAX技术,包括其定义、应用场景、优缺点以及实现步骤。AJAX核心依赖XMLHttpRequest对象,用于实现页面无刷新的数据交互,常用于登录注册、搜索、分页等场景。然而,AJAX也存在破坏浏览器返回机制、对搜索引擎不友好及安全问题等缺点。文章还涉及了AJAX交互的状态码和GET、POST参数请求。
摘要由CSDN通过智能技术生成

AJAX介绍

术语ajax最早产生于2005年,Ajax表示Asynchronous JavaScript and XML
(异步JavaScript和XML),但是它不是像HTML、JavaScript或CSS这样的
一种“正式的”技术,它是表示一些技术的混合交互的一个术语(JavaScript、
Web浏览器和Web服务器),它使我们可以获取和显示新的内容而不必载入
一个新的Web页面。增强用户体验,更有桌面程序的感觉。

什么是Ajax?

Ajax是一种技术方案,但并不是一种新技术。它依赖现有的CSS/HTML/JavaScript,
而其中最核心的依赖是浏览器提供的XMLHttpRequest对象,是这个对象使得浏览器
可以发出HTTP请求与接收HTTP响应。实现了在页面不刷新个情况下和服务器进行
数据交互。

也就是说,Ajax是前后端交互的方案,可以快速创建动态网站,同时页面不刷新,只是局部刷新。

AJAX应用场景

1.登录注册
2.百度搜索
3.分页
4.物流查询
5.下拉加载更多 等等…

AJAX交互

在这里插入图片描述

AJAX优缺点

  • 优点:

1.局部刷新网页,不是整个页面都去刷新 (提高用户体验度)
2.减轻服务器压力
3.减少了客户端宽度的占用

  • 缺点:

1.破坏了浏览器的返回机制 back
2.Ajax对搜索引擎不友好
3.安全问题

AJAX实现步骤

AJAX实现原理

在这里插入图片描述

AJAX步骤

1.创建ajax对象(XMLHttpRequset)
2.让ajax去发送http网络请求 请求服务器
3.服务器接收网络请求
4.服务器处理请求 并响应数据返回给ajax对象
5.Ajax接收数据后 通过js渲染页面

	//1.创建ajax对象
	var xhr = new XMLHttpRequest();//IE7+, Firefox, Chrome, Opera, Safari
	//console.log('new',xhr.readyState);//0 初始化xhr对象,没有发送请求

    /* 
    // IE6, IE5 浏览器执行代码
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	*/

	//2.准备请求
	//语法:xhr.open('请求方法get|post','地址','异步true,同步false');
	xhr.open('get','demo.php',true);
	//console.log('open',xhr.readyState);//1  发送请求(包含准备请求)

	//3.发送 send()
	xhr.send();//xhr.send(null);
	//console.log('send',xhr.readyState);//1

	//4.监听回调函数
	xhr.onreadystatechange = function () {
	//console.log('函数',xhr.readyState);// 2 3 4
	//2服务器接收请求  3服务器处理请求  4服务器响应数据
	//判断----判断状态执行到第几个 0 1 2 3 4
	if (xhr.readyState == 4) {//执行的状态
		if (xhr.status == 200) {//200是http状态码  成功
			//响应数据
			console.log(xhr.response);
		}
	}

状态码

  • xhr.readyState

0 初始化xhr对象
1 发送请求服务器
2 服务器接收请求
3 服务器处理数据
4 服务器处理完毕 响应数据

  • http状态码

1xx 信息
2xx 成功 200
3xx 重定向 304 307
4xx 资源不存在 404
5xx 服务器错误 500 505

get post 参数请求

  • get

在这里插入图片描述

  • post

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值