web学习笔记(四十三)ajax

news2024/11/16 12:05:26

目录

1.相关基础概念

1.1客户端与服务器

1.2URL地址 

1.3 客户端和服务器端通信的过程

1.4 一个URL地址放入浏览器,到页面渲染发生了什么事情

1.5 数据

1.6资源的请求方式

2.Ajax

2.1什么是Ajax

2.2 jQuery 中的Ajax

2.2.1 $.get()的语法

2.2.2$.post()的语法

2.2.3 $.ajax()的语法


1.相关基础概念

1.1客户端与服务器

        我们上网的本质就是通过互联网来获取和消费资源,而用来存放和对外提供资源的电脑叫做服务器,用来获取和消费资源的电脑叫做客户端。

1.2URL地址 

       URL(全称是UniformResourceLocator)中文叫统一资源定位符,用于标识互联网上每个资源的唯一存放位置。浏览器只有通过URL地址,才能正确定位资源的存放位置,从而成功访问到对应的资源。

URL地址一般由客户端与服务器之间的通信协议、存放资源的服务器名称、资源在服务器上具体的存放位置三部分组成。

1.3 客户端和服务器端通信的过程

  • 客户端与服务器之间的通信过程,分为 请求 – 处理 – 响应 三个步骤。
  • 网页中的每一个资源,都是通过 请求 – 处理 – 响应 的方式从服务器获取回来的。

1.4 一个URL地址放入浏览器,到页面渲染发生了什么事情

1.5 数据

       网页中的数据也是服务器对外提供的一种资源,而数据也是网页的灵魂。数据在网页中无处不在,我们之前说的html、css、javascript这些都是为数据服务的。

1.6资源的请求方式

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

  • get请求通常用于获取服务器端资源(向服务器资源)(例如:根据URL地址,从服务器获取HTML文件、CSS文件、js文件、图片文件、数据资源等)
  • post请求通常用于向服务器提交数据(往服务器发送资源)(例如:登录时向服务器提交的登录信息、注册时向服务器提交的注册信息、添加用户时向服务器提交的用户信息等各种数据提交操作。)

       在浏览器中,默认情况下,通过在地址栏输入 URL 的方式发起请求时,浏览器会使用 GET 方法来请求资源,而无法直接模拟使用 POST 方法发送请求。要使用 POST 方法发送请求,通常需要通过表单提交或者使用 AJAX 技术来实现。

2.Ajax

2.1什么是Ajax

          AJAX 就是 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。之前所学的技术,只能把网页做的更美观漂亮,或添加一些动画效果,但时,Ajax能让我们轻松实现网页与服务器之间的数据交互。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(无感刷新)。

  • Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
  • Ajax 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
  • AJAX主要用来进行搜索提示(在搜索关键字时,动态加载提示列表)、用户名检测(注册时检测该用户名是否被占用)、数据分页显示(根据页面值动态刷新表格中的数据)、数据的增删改查(实现数据的交互)
  • AJAX 工作原理Ajax可使因特网应用程序更小、更快,更友好。

2.2 jQuery 中的Ajax

浏览器提供的XMLHttpRequest用法比较复杂,所以jQuery对XMLHttpRequest进行了封装,提供了一系列Ajax相关的函数,

极大地降低了Ajax的使用难度。

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

  • $.get();
  • $.post()
  • $.ajax() ------推荐使用

2.2.1 $.get()的语法

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

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

参数名

参数类型

是否必选

说明

url

string

要请求的资源地址

data

object

请求资料期间要携带的参数

callback

function

请求成功时的回调函数

(1)当 $.get()函数不带参数时,将直接提供请求的URL地址和请求成功之后的回调函数即可。

        // get无参请求
        $.get('http://192.168.13.18:8080/api/getbooks', function (i) {
            console.log(i);
        })
        // {status: '200', msg: '获取图书列表成功', data: Array(3)}
      

(2)当  $.get()函数带参数时,将会返回符合参数条件的数据。

        // get传参请求
        $.get('http://192.168.13.18:8080/api/getbooks', {
            id: 228
        }, function (res) {
            console.log(res);
        })
        // {status: '200', msg: '获取图书列表成功', data: Array(1)}

2.2.2$.post()的语法

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

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

参数名

参数类型

是否必选

说明

url

string

要提交的资源地址

data

object

要提交的数据

callback

function

数据提交成功时的回调函数

(1)当  $.post()函数不传参时, 会向服务器提供一条空的数据。

        // post不传参
        $.post('http://192.168.13.18:8080/api/addbook', function (res) {
            console.log(res);
        })
        // {id: 234, bookname: null, author: null, publisher: null}

(2)当  $.post()函数传参时,会向服务器提交我们传过去的数据。

       // post传参
        $.post('http://192.168.13.18:8080/api/addbook', {
            'id': 133,
            'bookname': 'ajax1',
            'author': '张三',
            'publisher': '郑州图书出版社'
        }, function (res) {
            console.log(res);
        })
        // {status: 201, msg: '添加图书成功'}

2.2.3 $.ajax()的语法

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

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

(1) $.ajax()发起GET请求:

    $.ajax({
            method: 'get',
            data: {
                id: 233
             //可以传参也可以不传,传参返回指定数据,不传返回所有数据
            },
            url: 'http://192.168.13.18:8080/api/getbooks',
            success: function (res) {
                console.log(res);
            }
        })

(2)$.ajax()发起POST请求:

       $.ajax({
            method: 'post',
            url: 'http://192.168.13.18:8080/api/addbook',
            data: {
                'bookname': 'ajax3',
                'author': '张三',
                'publisher': '郑州图书出版社'
            },
            success: function (res) {
                console.log(res);
            }
        })

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1538612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux:http协议初步认识

文章目录 OSI七层模型http协议域名路径信息请求和响应 编写一个httpserver OSI七层模型 在结束了前面对于序列化反序列化等内容的学习后,重新回到对于OSI模型的部分 如上所示的是对于OSI接口的示意图,在这当中可以看到会话层的概念,会话层的…

简介:KMeans聚类算法

在机器学习中,无监督学习一直是我们追求的方向,而其中的聚类算法更是发现隐藏数据结构与知识的有效手段。聚类是一种包括数据点分组的机器学习技术。给定一组数据点,我们可以用聚类算法将每个数据点分到特定的组中。 理论上,属于同…

SQL Server 2008R2 日志文件大小设置及查询

SQL Server 2008R2 建立数据库存在日志无限增长问题,造成磁盘内存不足。本文解决这个问题,如下: 1.设置日志文件的最大大小 USE master; GO ALTER DATABASE [D_total] MODIFY FILE (NAME D_total_log, -- 日志文件的逻辑名称MAXSIZE 200…

LeetCode Python - 69. x 的平方根

目录 题目描述解法运行结果 题目描述 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.…

稀碎从零算法笔记Day21-LeetCode:单词规律

题型:哈希表、字符串 链接:290. 单词规律 - 力扣(LeetCode) 来源:LeetCode 题目描述 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如&am…

先进电机技术 —— 何为轴电压?

一、特定场景举例 长线驱动指的是在电动机与变频器之间存在较长的连接电缆,尤其是在大型工业应用中,电机可能远离变频器几十米甚至上百米。这种情况下,变频器通过长线向电动机传输功率时,可能会加剧电机轴电压和轴电流的产生&…

Flutter-仿携程首页类型切换

效果 唠叨 闲来无事,不小心下载了携程app,还幻想可以去旅游一番,奈何自己运气不好,自从高考时第一次吹空调导致自己拉肚子考试,物理,数学考了一半就交卷,英语2B铅笔除了问题,导致原…

ensp静态路由综合实验(一)

实验拓扑: 实验目的: 1、R6为ISP,接口IP地址均为公有地址,该设备只能配置IP地址,之后不能再对其进行任何配置; 2、R1-R5为局域网,私有IP地址192.168.1.0/24,请合理分配;…

【图解物联网】第7章 物联网与可穿戴设备

7.1 可穿戴设备的基础 顾名思义,可穿戴设备就是指穿戴在身上的设备,因此,比起单独使用前面说的那些设备,可穿戴设备能够令服务更加贴近人们的生活。如果你想率先实现物联网服务,那么就可以选择使用可穿戴设备。 …

java业务需求——爆金币

假设我们要模拟金铲铲中塔姆的爆金币需求,我们该如何实现该需求呢? 所以假设下面具体场景: 1.在每一回合的15s中,该棋子不断被攻击。 2.该棋子被攻击时有十分之三的概率的会爆出一个金币, 3.每被攻击10次必爆一个金币…

HAL STM32G4 +TIM1 3路PWM互补输出+VOFA波形演示

HAL STM32G4 TIM1 3路PWM互补输出VOFA波形演示 ✨最近学习研究无刷电机驱动,虽然之前有使用过,但是在STM32上还没实现过。本文内容参考欧拉电子例程,从PWM驱动开始学习。 欧拉电子相关视频讲解: STM32G4 FOC开发实战—高级定时器发…

【光标精灵】让您享受鼠标皮肤多样化快捷更换

鼠标作为我们日常使用频率最高的“小伙伴”,扮演着至关重要的角色。尤其是在女生群体中,对于打造一个个性化、可爱的电脑桌面和软件界面的需求日益增长。然而,尽管电脑默认提供了一些可更换的光标图案,但仍显得有些单调和呆板。想…

Java练习题目3:输入一个学生的5门课成绩及对应的学分,计算该同学的加权平均分(WeightedAverageScore3)

每日小语 我们没有意识到惯用语言的结构有多大的力量。可以说,它通过语义反应机制奴役我们。 ——阿尔弗雷德科日布斯基 思考 输入5门课成绩,学分,加权平均分公式 [(课程A成绩*课程A学分)(课程成绩B*课程…

GitHub gpg体验

文档 实践 生成新 GPG 密钥 gpg --full-generate-key查看本地GPG列表 gpg --list-keys关联GPG公钥与Github账户 gpg --armor --export {key_id}GPG私钥对Git commit进行签名 git config --local user.signingkey {key_id} # git config --global user.signingkey {key_id} git…

C语言 自定义类型:结构体

目录 前言 一、结构体类型 1.1 结构体的声明 1.2 结构体变量的创建和初始化 1.3 结构体的特殊声明 1.4 结构体的自引用 二、结构体的对齐 2.1 对齐规则 2.2 内存对齐的原因 2.3 修改默认对齐数 2.4 结构体传参 三、结构体实现位段 3.1 位段的内存分配 3.2 段的跨平…

打造校园环保展厅,让环保知识触手可及,环保意识自然生成!

环保问题是当下备受关注的话题,各类垃圾分类、绿色环保知识的推广宣传,也让社会公众开始加强对环境保护的意识,同时越来越多的学校也开始加强对学生环保理念的培养,并通过建设校园环保展厅来宣传绿色环保知识,引导学生…

使用专属浏览器在国内直连GPT教程

Wildcard官方推特发文说他们最近推出了一款专门为访问OpenAI设计的浏览器。 根据官方消息,这是一款专门为访问OpenAI优选网络设计的浏览器,它通过为用户提供专用的家庭网络出口,确保了快速、稳定的连接。 用这个浏览器的最大好处就是直接用浏…

免费PDF转换和编辑工具 PDFgear 2.1.4

PDFgear是一款功能强大的 PDF 阅读及转换软件。 它支持多种文件格式的转换和编辑,同时还提供了丰富的功能模块,如签名、表单填写等,方便用户进行多样化的操作。 该软件界面简洁美观,操作简单易懂,适合不同层次的用户…

Spark-Scala语言实战(3)

在之前的文章中,我们学习了如何在来如何在IDEA离线和在线安装Scala,想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实…

SpringBoot 集成支付宝支付,看这篇就够了!

SpringBoot 集成支付宝支付,看这篇就够了! 1.进入支付宝开发平台—沙箱环境 2.点击沙箱进入沙箱环境 3.进入沙箱,配置接口加签方式 在沙箱进行调试前需要确保已经配置密钥/证书用于加签,支付宝提供了 系统默认密钥 及 自定义密钥 两种方式进行配置。这里我采取的是默认方…