Ajax笔记
创始人
2024-04-10 17:13:31
0

Ajax笔记

  • 资源的请求方式
  • 一、概念
    • 1、Ajax作用
    • 2、jQuery中的Ajax
  • 二、$.get()函数的语法
    • $.get()发起不带参数的请求
    • $.get()发起带参数的请求
  • 三、$.post()函数的语法
    • $.post()向服务器提交数据
  • 四、$.ajax()函数的语法
    • 使用$.ajax()发起GET请求
    • 使用$.ajax()发起POST请求
  • 五、通过Ajax提交表单数据
    • 1、监听表单提交事件
    • 2、阻止表单默认提交行为
    • 3、快速获取表单中的数据


资源的请求方式

客户端请求服务器时,请求的方式有很多种,最常见的两种请求方式分别为 getpost 请求。

  • get 请求通常用于获取服务端资源(向服务器要资源)
    例如:根据 URL 地址,从服务器获取 HTML 文件、css 文件、js文件、图片文件、数据资源等

  • post 请求通常用于向服务器提交数据(往服务器发送资源)
    例如:登录时向服务器提交的登录信息、注册时向服务器提交的注册信息、添加用户时向服务器提交的用户信息等各种数据提交操作

一、概念

Ajax的全称是Asynchronous JavaScript And XML(异步 JavaScript和XML)
通俗的理解:在网页中利用 XMLHttpRequest 对象和服务器进行数据交互的方式,就是Ajax。

1、Ajax作用

  • Ajax能让我们轻松实现网页与服务器之间的数据交互。
  • 搜索提示:当输入搜索关键字时,通过 ajax 的形式,动态加载搜索提示列表
  • 数据分页显示:当点击页码值的时候,通过 ajax 的形式,根据页码值动态刷新表格的数据
  • 数据的增删改查:数据的添加、删除、修改、查询操作,都需要通过 ajax 的形式,来实现数据的交互

2、jQuery中的Ajax

浏览器中提供的 XMLHttpRequest 用法比较复杂,所以 jQuery 对 XMLHttpRequest 进行了封装,提供了一系列 Ajax 相关的函数,极大地降低了 Ajax 的使用难度。

jQuery 中发起 Ajax 请求最常用的三个方法如下:

  • $.get():获取数据
  • $.post():提交数据
  • $.ajax():可以获取数据也可以提交数据

二、$.get()函数的语法

jQuery 中 $.get() 函数的功能单一,专门用来发起 get 请求,从而将服务器上的资源请求到客户端来进行使用。
$.get() 函数的语法如下:

$.get(url, [data], [callback])

在这里插入图片描述

$.get()发起不带参数的请求

使用 $.get() 函数发起不带参数的请求时,直接提供请求的 URL 地址和请求成功之后的回调函数即可

$.get('http://www.liulongbin.top:3006/api/getbooks', function(res) {console.log(res) // 这里的 res 是服务器返回的数据
})

$.get()发起带参数的请求

使用 $.get() 函数发起带参数的请求时

$.get('http://www.liulongbin.top:3006/api/getbooks', { id: 1 }, function(res) {console.log(res)
})

三、$.post()函数的语法

jQuery 中 $.post() 函数的功能单一,专门用来发起 post 请求,从而向服务器提交数据。

$.post(url, [data], [callback])

在这里插入图片描述

$.post()向服务器提交数据

$.post('http://www.liulongbin.top:3006/api/addbook', // 请求的URL地址{ bookname: '张三传', author: '张三', publisher: '张三出版社' }, // 提交的数据function(res) { // 回调函数console.log(res)}
)

四、$.ajax()函数的语法

相比于 $.get() 和 $.post() 函数,jQuery 中提供的 $.ajax() 函数,是一个功能比较综合的函数,它允许我们对 Ajax 请求进行更详细的配置。

$.ajax({type: '', // 请求的方式,例如 GET 或 POSTurl: '',  // 请求的 URL 地址data: { },// 这次请求要携带的数据success: function(res) { } // 请求成功之后的回调函数
})

使用$.ajax()发起GET请求

使用 $.ajax() 发起 GET 请求时,只需要将 type 属性的值设置为 ‘GET’ 即可:

$.ajax({type: 'GET', // 请求的方式url: 'http://www.liulongbin.top:3006/api/getbooks',  // 请求的 URL 地址data: { id: 1 },// 这次请求要携带的数据success: function(res) { // 请求成功之后的回调函数console.log(res)}
})

使用$.ajax()发起POST请求

使用 $.ajax() 发起 POST 请求时,只需要将 type 属性的值设置为 ‘POST’ 即可:

$.ajax({type: 'POST', // 请求的方式url: 'http://www.liulongbin.top:3006/api/addbook',  // 请求的 URL 地址data: { // 要提交给服务器的数据bookname: '水浒传',author: '施耐庵',publisher: '上海图书出版社'},success: function(res) { // 请求成功之后的回调函数console.log(res)}
})

五、通过Ajax提交表单数据

1、监听表单提交事件

在 jQuery 中,可以使用如下两种方式,监听到表单的提交事件:

$('#form1').submit(function(e) {alert('监听到了表单的提交事件')
})$('#form1').on('submit', function(e) {alert('监听到了表单的提交事件')
})

2、阻止表单默认提交行为

当监听到表单的提交事件以后,可以调用事件对象的 event.preventDefault() 函数,来阻止表单的提交和页面的跳转

$('#form1').submit(function(e) {// 阻止表单的提交和页面的跳转e.preventDefault()
})$('#form1').on('submit', function(e) {// 阻止表单的提交和页面的跳转e.preventDefault()
})

3、快速获取表单中的数据

serialize()函数

  • 为了简化表单中数据的获取操作,jQuery 提供了 serialize() 函数
$(selector).serialize()
  • serialize()函数的好处:可以一次性获取到表单的所有的数据

  • serialize()函数示例

$('#form1').serialize() // 调用的结果: // username=用户名的值&password=密码的值

注意:在使用 serialize() 函数快速获取表单数据时,必须为每个表单元素添加 name 属性!

相关内容

热门资讯

2025汽车行业年鉴|政策篇:... 记者 周信 当中国汽车年产销即将双双突破3230万辆,全球每卖出三辆车就有一辆来自中国时,“内卷”却...
货拉拉取消车贴违约金制度 货拉拉发布第二期平台规则和产品功能优化成果。根据今年7月签署的《网络货运信息交易撮合平台保障货车司机...
国家发展改革委:2026年优化... 记者今天(30日)从国家发展改革委了解到,2026年优化实施“两新”政策方案发布。 优化支持范围。设...
獐子岛(002069)披露累计... 截至2025年12月30日收盘,獐子岛(002069)报收于3.69元,较前一交易日下跌1.86%,...
《中华人民共和国增值税法实施条... 中华人民共和国增值税法实施条例 第一章 总则 第一条 根据《中华人民共和国增值税法》(以下简称增值税...
李旻律师:诈骗频发 小红书作为... 12月23日,丽江市古城区文化和旅游局采取一项公开举措,向小红书平台发出公函,指出其未能有效履行平台...
山东京鲁律师事务所2025年度... 2025年,山东京鲁律师事务所在“公平正义”、“公益慈善”与“招商引资”三大领域取得丰硕成果,推选出...
北京朝阳严打金融犯罪推进源头治... 2025年12月30日,北京市朝阳区人民检察院召开新闻发布会,介绍2023年12月至2025年11月...
董事长决策安排内幕交易!锂矿巨... 一桩五年前的涉嫌内幕交易处罚,至今“余波”仍在。 12月29日晚间,锂矿龙头赣锋锂业(002460....
【李强签署国务院令 公布《中华... 【李强签署国务院令 公布《中华人民共和国增值税法实施条例》】国务院总理李强日前签署国务院令,公布《中...