jQuery 基础知识(五)

news/2024/7/10 22:45:36 标签: jquery, javascript, 前端, ajax, json

前面已经介绍HTML、CSS和javaScript,这三个前端语言,俗称前端三剑客。下面来学习一个javaScript简化并封装好的库——jQuery库。

01 - AJAX

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

  • AJAX的介绍

ajax 是 Asynchronous JavaScript and XML的简写,ajax一个前后台配合的技术,它可以让 javascript 发送异步的 http 请求,与后台通信进行数据的获取,ajax 最大的优点是实现局部刷新,ajax可以发送http请求,当获取到后台数据的时候更新页面显示数据实现局部刷新,在这里大家只需要记住,当前端页面想和后台服务器进行数据交互就可以使用ajax了。
这里提示一下大家, 在html页面使用ajax需要在web服务器环境下运行, 一般向自己的web服务器发送ajax请求。

  • AJAX的使用

jquery将它封装成了一个方法$.ajax(),我们可以直接用这个方法来执行ajax请求。get示例代码:

<script>
    $.ajax({
    // 1.url 请求地址
    url:'http://www.liulongbin.top:3006/api/getbooks',
    // 2.type 请求方式,默认是'GET',常用的还有'POST'
    type:'GET',
    // 3.dataType 设置返回的数据格式,常用的是'json'格式
    dataType:'JSON',
    // 4.data 设置发送给服务器的数据, 没有参数不需要设置

    // 5.success 设置请求成功后的回调函数
    success:function (response) {
        console.log(response);    
    },
    // 6.error 设置请求失败后的回调函数
    error:function () {
        alert("请求失败,请稍后再试!");
    },
    // 7.async 设置是否异步,默认值是'true',表示异步,一般不用写
    async:true
});
</script>

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>
</head>

<body>
  <script src="./node_modules/jquery/dist/jquery.min.js"></script>
  <style>
    .a01{
        color:red;
    }
</style>

<script>
  // AJAX-GET请求示例
 $.ajax({
  url:'http://www.liulongbin.top:3006/api/getbooks',
  type:'get',
  dataType:'json',
  success:function(response){
    console.log(response)
  },
  error:function(){
    console.log("请求错误")
  }


  })
  // AJAX-POST请求示例
  $.ajax({
    url:'https://api.uomg.com/api/rand.qinghua',
    type:'post',
    data:{'format':'json'},
    dataType:'json',
    success:function(rep){
      console.log(rep)

    },
    error:function(error){
        alert(error)
    }
  })
</script>

</body>

</html>

结果:

图片

ajax方法的参数说明:

  1. url 请求地址

  2. type 请求方式,默认是'GET',常用的还有'POST'

  3. dataType 设置返回的数据格式,常用的是'json'格式

  4. data 设置发送给服务器的数据,没有参数不需要设置

  5. success 设置请求成功后的回调函数

  6. error 设置请求失败后的回调函数

  7. async 设置是否异步,默认值是'true',表示异步,一般不用写

  8. 同步和异步说明

  • 同步是一个ajax请求完成另外一个才可以请求,需要等待上一个ajax请求完成,好比线程同步。

  • 异步是多个ajax同时请求,不需要等待其它ajax请求完成, 好比线程异步。

02 - AJAX简写

$.ajax按照请求方式可以简写成$.get或者$.post方式

  • AJAX简写方式的示例代码

 <script>
    $(function(){
        /*
         1. url 请求地址
         2. data 设置发送给服务器的数据, 没有参数不需要设置
         3. success 设置请求成功后的回调函数
         4. dataType 设置返回的数据格式,常用的是'json'格式, 默认智能判断数据格式
        */ 
        $.get("http://www.liulongbin.top:3006/api/getbooks", function(dat,status){
            console.log(dat);
            console.log(status);
            alert(dat);
        }).error(function(){
            alert("网络异常");
        });

        /*
         1. url 请求地址
         2. data 设置发送给服务器的数据, 没有参数不需要设置
         3. success 设置请求成功后的回调函数
         4. dataType 设置返回的数据格式,常用的是'json'格式, 默认智能判断数据格式
        */ 
        $.post("test.php", {"func": "getNameAndTime"}, function(data){
            alert(data.name); 
            console.log(data.time); 
        }, "json").error(function(){
            alert("网络异常");
        }); 
    });


</script>

如果出现下面错误提示:
Uncaught TypeError: $.get(...).error is not a function
就是jquery版本不同,导致$.get()无法使用error方法,可以替换成fail方法,如:
$.get('http://www.liulongbin.top:3006/api/getbooks',function(data,status){
  console.log('data: ' + data);
  console.log('status: '+ status);


}).fail(function(err){
  console.log(err)
});

$.get和$.post方法的参数说明:

$.get(url,data,success(data, status, xhr),dataType).error(func)$.post(url,data,success(data, status, xhr),dataType).error(func)
  1. url 请求地址

  2. data 设置发送给服务器的数据,没有参数不需要设置

  3. success 设置请求成功后的回调函数

  • data 请求的结果数据

  • status 请求的状态信息, 比如: "success"

  • xhr 底层发送http请求XMLHttpRequest对象

  • dataType 设置返回的数据格式

    • "xml"

    • "html"

    • "text"

    • "json"

  • error 表示错误异常处理

    • func 错误异常回调函数

  • ajax 是发送http请求获取后台服务器数据的技术

  • ajax的简写方式可以使用$.get和$.post方法来完成

    • 知识点回顾

    本节介绍了ajax的基本使用方式,jquery基础知识已经讲完,先回顾一下:

    1、jquery的作用和引入方式
    2、jquery入口函数的写法,原生写法是用window.onload = function(){}方式,而jquery有一种写法, $(document).ready(function(){},它也可以简写成:$(function(){})。
    3、jquery五种选择器获取标签元素,常用的是id和类来获取。
    4、jquery选择集过滤通过eq和has方法
    5、jquery选择集转移常用有8种,例如获取下一个同级元素:$('#id').next()方法
    6、jquery获取和设置元素内容,通过html()和append()方法
    7、jquery获取和设置元素的属性通过prop方法,获取和设置元素的value属性可以通过val()方法
    8、jquery常用事件6种,比如获取焦点focus(),点击事件click(),dom对象加载完成ready()
    9、javascript对象的创建方式两种,类的方式和字面量方式,如: var student = new Object()
    10、json的两种格式和用法,对象和数组,json字符串转成js对象的方法可以这样写:JSON.parse()
    11、ajax的使用,两种写法,一种$.ajax({}),一种$.get()。
    以上就是jquery的基础知识,到此前端基础HTML, CSS, JavaScript和jQuery的相关知识介绍完成。

    工欲善其事,必先利其器!


http://www.niftyadmin.cn/n/58769.html

相关文章

Spring Boot 快速入门(绝对经典)

目录 1、理论概述 1.1、什么是Spring Boot? 1.2、Spring Boot的特点 1.3、开发环境 2、实战——创建和配置项目 2.1、Spring Boot项目创建的两种方式 2.1.1、方法一&#xff1a;通过网站构建项目 2.1.2、使用Spring Initializr创建&#xff08;推荐&#xff09; 2.2、…

AirServer在哪下载?如何免费使用教程

苹果手机投屏到电脑mac是怎么弄&#xff1f;你知道多少&#xff1f;相信大家对苹果手机投屏到电脑mac能在电脑上操作不是很了解&#xff0c;下面就让coco玛奇朵带大家一起了解一下教程。AIrServer是一款ios投屏到mac的专用软件&#xff0c;可将iOS上的音频&#xff0c;视频&…

引入QQ邮箱发送验证码进行安全校验

最近想给自己的项目在注册时加点安全校验&#xff0c;本想着使用短信验证码&#xff0c;奈何囊中羞涩只能退而求次改用QQ邮箱验证注册~ 一.需求分析 场景&#xff1a;用户输入自己的邮箱&#xff0c;点击获取验证码&#xff0c;后台会发送一封邮件到对应邮箱中。 分析&#x…

CSDN竞赛第27期题解

CSDN竞赛第27期题解 1、题目名称&#xff1a;幸运数字 小艺定义一个幸运数字的标准包含3条: 1、仅包含4或7。 2、幸运数字的前半部分数字之和等于后半部分数字之和。 3、 数字的长度是偶数。 #include<bits/stdc.h> using namespace std; typedef long long ll; typed…

golang context上下文

文章目录一、为什么需要context二、context 接口三、Background 方法四、 with 系列函数1、WithCancel 方法2、WithDeadline 方法3、WithTimeout 方法4、WithValue 方法五、使用注意事项一、为什么需要context 在 Go http包的Server中&#xff0c;每一个请求在都有一个对应的 …

41-Dockerfile-Dockerfile简介

Dockerfile简介前言Dockerfile 简介基础知识使用Dockerfile 构建镜像步骤Dockerfile 构建过程Dockerfile基本结构Dockerfile示例总结前言 本篇开始来学习下Dockerfile相关的用法 Dockerfile 简介 Dockerfile : 是用来构建 Docker 镜像的文本文件&#xff0c;是有一条条构建镜…

Fastjson 1.83漏洞利用猜想

0x00 前言 这篇是去年五月发到i春秋的~ 在不久前fastjson<1.2.83又爆出来了新的问题,详细内容可以参考 https://github.com/alibaba/fastjson/wiki/security_update_20220523,这篇文章主要是抛转引玉,写一种可能的利用思路,详细的利用链可能要等大佬们来给出了。 文内…

MybatisX:简单却不失强大

插件介绍MyBatisX是一款基于MyBatis、开源的持久层框架&#xff0c;它提供了对数据库的操作方法。MyBatisX则是MyBatis的升级版本&#xff0c;提供了更丰富的功能。MyBatisX提供了一个强大的SQL映射系统&#xff0c;允许开发人员在数据库和Java对象之间建立映射。MyBatisX的特点…