Ajax简介和实例

article/2025/10/6 6:16:55

目录

什么是 AJAX ? 

AJAX实例 

ajax-get无参

 ajax-get有参

对象和查询字符串的互转

ajax-post

 ajax-post 表单


AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

什么是 AJAX ? 

菜鸟教程是这样介绍的:

AJAX = 异步 JavaScript 和 XML。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

AJAX实例 

从前面的学习,我们可以知道get和post的区别,详情见前端学习之HTTP协议的介绍(5)_学前端的狗头苏丹的博客-CSDN博客

ajax-get无参

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>// 1.创建一个请求实例var xhr = new XMLHttpRequest();// 2.打开一个链接 open('get/post','URL')xhr.open('get','http://121.199.0.35:8888/index/carousel/findAll');// 3.发送请求 get携带参数在地址栏 post携带参数在请求体xhr.send();// 4.监听状态改变 接收响应 onreadystatechange// readyState 4 响应完成// 0 open未调用 1 open已经调用 2 接收响应头信息 3 接收响应体信息 4 响应完成// status 200 响应成功xhr.onreadystatechange = function(){// 表示响应完成  表示响应成功if(xhr.readyState === 4 && xhr.status === 200){console.log(xhr.response,'接收响应体');var res = JSON.parse(xhr.response);console.log(res);res.data.forEach(function(item){var div = document.createElement('div');var img = document.createElement('img');div.innerHTML = item.name + ' ' +item.introduce;img.src = item.url;img.style.width = '400px';document.body.appendChild(div);document.body.appendChild(img);})}}</script>
</head>
<body></body>
</html>

 ajax-get有参

利用Qs.stringify() 将对象序列化成URL形式进行拼接,需要引入

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.1/qs.js"></script><script>window.onload = function(){/*** get请求带参数 分页查询 一页查询11条数据 page1 pageSize 11*/// 1.创建一个XMLHttpRequest请求实例var xhr = new XMLHttpRequest();var params = {page:1,pageSize:10}// 将对象转为查询字符串 将对象 序列化成URL的形式,以&进行拼接  Qs.styingify()var paramsString = Qs.stringify(params);console.log(paramsString);// ?page=1&pageSize=11 查询字符串// 2.打开一个链接xhr.open('get','http://121.199.0.35:8888/index/article/pageQuery'+'?'+paramsString);// 3.发送请求xhr.send();// 4.监听状态改变 接收响应xhr.onreadystatechange = function(){if(xhr.readyState === 4 && xhr.status === 200){var response = JSON.parse(xhr.response);console.log(response);var dl = document.createElement('dl');response.data.list.forEach(function(item){var dt = document.createElement('dt'); var dd = document.createElement('dd');dt.innerHTML = item.title;dd.innerHTML = item.content;dl.appendChild(dt);dl.appendChild(dd);document.body.appendChild(dl);})}}}</script>
</head>
<body></body>
</html>

 

对象和查询字符串的互转

假如不使用Qs的方法,将该怎么转换呢?

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>var obj = {name:'terry',age:12,title:'标题'}// 转成查询字符串 ?name=terry&age=12&title=标题function queryString(obj){var str = '';for(let key in obj){// key 属性名 obj[key]属性值 str += '&'+key+ '=' + obj[key]}str = str.replace('&','?');return str;}var res= queryString(obj);// res ?name=terry&age=12&title=标题   将查询字符串转为对象function parse(res){var obj = {};res.split('&').forEach(function(item){if(item.includes('?')){item = item.slice(1);}// console.log(item);     ["?name=terry","age=12","title=标题"]let newArr = item.split('=');// console.log(newArr);   [name,terry] [age,12] [title,标题]obj[newArr[0]] = newArr[1];})return obj;}console.log(parse(res));</script>
</head>
<body></body>
</html>

ajax-post

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>// 1.创建一个请求实例var xhr = new XMLHttpRequest();// 2.打开链接var obj = {username:'admin1',password:123321}xhr.open('post','http://121.199.0.35:8888/user/login');// 2.2 设置请求头为json格式 setRequestHeader /*** 1.Content-Type application/json 设置json格式* 2.Content-Type application/x-www-form-urlencoded 设置为表单格式 需要URL转码 用Qs.stringify()* 3.Content-Type text/plain;charset=UTF-8 默认值*/xhr.setRequestHeader('Content-Type','application/json;charset=UTF-8');// 3.发送请求xhr.send(JSON.stringify(obj));// 4.监听状态改变 接收响应xhr.onreadystatechange = function(){if(xhr.readyState ===4 && xhr.status === 200){console.log(JSON.parse(xhr.response));}}</script>
</head>
<body></body>
</html>

 ajax-post 表单

需要使用Qs.stringify()将表单转换为URL形式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.1/qs.js"></script><script>// 1.创建一个请求实例var xhr = new XMLHttpRequest();// 2.打开一个链接xhr.open('post','http://121.199.0.35:8888/baseUser/saveOrUpdate');var obj = {username:'杰米',password:'123456',telephone:'15921315421'}// 2.2设置请求头的格式xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8')// 3.发送请求xhr.send(Qs.stringify(obj));// 4.监听状态改变 接收响应xhr.onreadystatechange = function(){if(xhr.readyState ===4 && xhr.status === 200){console.log(JSON.parse(xhr.response));}}</script>
</head>
<body></body>
</html>

 


http://chatgpt.dhexx.cn/article/kEd43biN.shtml

相关文章

Ajax实例讲解与技术原理

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要&#xff1a;AJAX即“Asynchronous Javascript And XML”&#xff08;异步JavaScript和XML&#xff09;&#xff0c;是指一种创建交互式网页应用的网页开发技术。AJAX 是一种用于创建快速动态网页的…

jQuery的Ajax实例(附完整代码)

目录 写在前边什么是AjaxAjax基本结构实例实例1实例2 小结 写在前边 作为一个前端刚入门没多久的小白&#xff0c;想在这里分享一下我的学习内容&#xff0c;就算是学习笔记了。因为前端的大部分学习都是通过网站上的教程&#xff0c;所以遇到不懂得问题&#xff0c;也只有求助…

Ajax技术 实例篇

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 例如&#xff1a;本篇文章通过HtmlAjaxnode技术实现一个简单的Ajax请求案例&#xff0c;为加强对Ajax技术的了解和实操经验 实现效果 这是请求前的前端页面&#xff0c;点击两个Button按钮分别发起不…

Ajax-Ajax基础实例

实例一&#xff1a;点击一个按钮&#xff0c;然后将信息显示到指定的div内。 1、创建一个JAVA web工程&#xff0c;命名为AjaxTest。在webRoot创建一个HTML页面&#xff0c;命名为FirstTest.html&#xff0c;FirstTest.html代码如下&#xff1a; <html><head><t…

Ajax最实用的小例子集合

今天我为大家带来了几个非常实用的ajax小例子&#xff0c;都是在工程中经常用到的实用的例子。适合有基础的同学&#xff0c;废话也不多说了&#xff0c;看代码 哦&#xff0c;对了&#xff0c;所有的例子都是用servletjsp实现的 至于三大框架的&#xff0c;我相信&#xff0c;…

Java 网络编程(大全)

前言必读 读者手册&#xff08;必读&#xff09;_云边的快乐猫的博客-CSDN博客 一、1网络通信的基本模式分为两种 1.CS模式&#xff08;Client---客户端&#xff0c;Server---服务端&#xff09; 客户端是需要程序员去开发的&#xff0c;例如日常使用的各种的APP&#xff0c…

java游戏编程:三路兵线,BOSS走位,代码和视频

一、基本功能&#xff1a; 坦克大战&#xff1a;三路兵线的走&#xff0c;停&#xff0c;走&#xff0c;停。四个版本的飞机大战&#xff1a;多种运动方式。都有代码和视频下载地址。 二、后续改进&#xff1a; 走&#xff0c;停发起攻击&#xff0c;走&#xff0c;停发起攻击…

Java实现石头剪刀布游戏

思路&#xff1a;采取5局3胜制&#xff1b;用两个变量a、b标记&#xff0c;若&#xff0c;第一局电脑胜&#xff0c;则b加1&#xff0c;反之亦然。其中用到int randomNumber new Random().nextInt(4) 随机生成04的一个数&#xff0c;通过生成的数索引数组中的内容&#xff0c;…

Java实现猜数游戏

1 问题 编写一个Java程序&#xff0c;实现以下功能&#xff1a; 2 方法 首先导入java.util包下的Random&#xff0c;让程序随便分配给用户一个数。 再导入java.util包下的Scanner类&#xff0c;构建Scanner对象&#xff0c;以便输入。 利用Random().nextInt()生成一个随机的i…

Java小游戏:飞翔的小鸟 【附源码和素材】

目录 一、项目分析 二、项目展示 1.开始状态 2.运行状态 3.结束状态 三、实现代码 1.游戏启动类 2.地面类 3.小鸟类 4.柱子类 四、代码资源 一、项目分析 创建一个窗口和画板&#xff0c;把画板放到窗口上&#xff0c;在画板上绘画图片 &#xff08;2&#xff09;让小鸟…

Java——猜数字游戏

目录 &#x1f351;前置知识 &#x1f351;题目要求 &#x1f351;代码实现 &#x1f351;测试 &#x1f351;前置知识 既然是猜数字那么就要生成一个随机数 在Java中要生成一个指定范围之内的随机数字有两种方法&#xff1a;一种是调用 Math 类的 random() 方法&…

Java简单实现猜拳游戏

前言 Random类的简单使用 .nextInt()方法&#xff0c;返回伪随机的&#xff0c;均匀分布 int值介于0&#xff08;含&#xff09;和指定值&#xff08;不包括&#xff09;&#xff0c;从该随机数生成器的序列绘制。 public class Demo_02 {//出拳游戏:1表示石头,2表示剪刀,3表…

java实现猜拳游戏

剪刀、石头、布又称“猜丁壳”&#xff0c;古老而简单&#xff0c;这个游戏的主要目的是为了解决争议&#xff0c;因为三者相互制约&#xff0c;因此不论平局几次&#xff0c;总会有胜负的时候。 游戏规则中&#xff0c;石头克剪刀&#xff0c;剪刀克布&#xff0c;布克石头。…

Java游戏编程前篇 修改eclipse背景颜色

最近准备开始研究java游戏设计了。&#xff08;不是安卓的游戏设计&#xff0c;关于安卓的游戏设计&#xff0c;我打算学完java之后直接学cocos2dx&#xff0c;学习java的原因是因为在公司里接触到了eclipse&#xff0c;所以打算顺便将java也啃下来&#xff0c;以后说不定哪天就…

java游戏开发入门(一) - HelloWorld

java游戏开发入门&#xff08;一&#xff09;- HelloWorld 前言开发环境启程 Hello WorldMaven启动类 HelloWorldApp创建一个600 x 600&#xff0c;标题为"Hello world"的窗体main运行效果完整代码 完整项目 前言 开发一款游戏&#xff0c;我相信很多人在学习开发之前…

JAVA编程实现猜数游戏

1.该程序就是随机生成一个1-100的整数让玩家进行游戏&#xff0c;不限次数&#xff0c;直到玩家猜对为止。 2.使用while循环语句实现功能 3.代码展示 import java.util.Random; import java.util.Scanner;public class S11 {public static void main(String[] args) {Random…

Java游戏框架编写

自己抽空编写的一个2D游戏框架(也可以说是工具类集吧)&#xff0c;在此记录一下&#xff0c;开发完了顺便写了一个案例判断框架的可用性 项目地址&#xff1a;https://gitee.com/shaokang123/spring-game-starter 框架特点 支持直接使用Tiled设计地图&#xff0c;以name为beanN…

Java游戏编程——愤怒的小鸟(一)

Java游戏编程——愤怒的小鸟&#xff08;一&#xff09; 前言&#xff1a;最近在b站up主尚学堂杨老师&#xff08;b站链接&#xff09;学习了我做的第一个游戏项目&#xff0c;所以在csdn进行总结&#xff0c;便于今后查看。 本部分主要是将游戏的背景绘制出来 先上一张效果…

java游戏开发(java游戏开发教程)

Java游戏开发绘图器是什么呢&#xff1f; 众所周知&#xff0c;Java GUI以paint进行绘图&#xff0c;以repaint进行图像刷新&#xff0c;而完成repaint及paint这一连贯过程中所用到绘图组件&#xff0c;我将其称为绘图器。就我个人的体会&#xff0c;绘图器的调用时机应始终处于…

Java编程实现三种等级的扫雷游戏(完整版)

大家好&#xff0c;我是陈橘又青&#xff0c;今天用Java编程实现图形化界面的扫雷游戏&#xff08;三种难度&#xff09;&#xff0c;以下是完整的开发思路以及代码&#xff0c;供各位讨论交流。 文章目录 一、效果展示初级难度中级难度高级难度测试界面 二、项目介绍项目背景功…