首页 > 其他分享 >html页面中如何发送ajax请求

html页面中如何发送ajax请求

时间:2024-03-20 20:12:02浏览次数:23  
标签:function 请求 示例 json ajax html result 页面

ajax简介

  Ajax,全称“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种用于创建交互式网页应用的网页开发技术。

它允许浏览器与服务器之间进行异步数据交互,可以在不重新加载整个页面的情况下,更新页面的部分内容。

AJAX的关键技术

XMLHttpRequest(简称XHR):这是浏览器内置的对象,允许JavaScript在后台(异步)向服务器发送请求以及接收服务器返回的数据。

JavaScript:编写客户端脚本,用于调用XHR对象、处理服务器返回的数据以及更新DOM树中的部分内容。

数据格式:尽管名字中含有XML,但AJAX实际上并不局限于XML数据格式,JSON现在已经成为更常用的数据交换格式,因为其可读性强、体积小且容易被JavaScript解析。

异步处理:与传统的同步请求不同,异步请求不会导致浏览器停止响应,用户可以在等待服务器响应的同时继续与页面进行其他交互。

可以实现的一些功能如下

动态加载数据:在不刷新页面的情况下,从服务器获取新的数据并更新页面内容(百度搜索)。

实时验证:在用户输入时,实时检查输入的有效性并给出反馈。

提高用户体验:减少页面的加载时间和刷新次数,提供更加流畅的用户交互。

原生ajax请求用法示例

// 创建 XMLHttpRequest 对象

var xhr = new XMLHttpRequest();

// 定义请求的方式(GET 或 POST)、URL 和是否异步(true 表示异步)

xhr.open("GET", "./static/json/test.json", true);

// 发送请求前设置请求头

xhr.setRequestHeader("Content-Type", "application/json");

// 定义处理请求成功的函数

xhr.onreadystatechange = function() {

  if (xhr.readyState == 4 && xhr.status == 200) {

    // 请求成功,获取响应的数据

    var response = xhr.responseText;

    console.log(response);

  }

};

// 发送请求

xhr.send();

上面就是一个最简单的使用原生ajax发送请求的示例。真实开发中很少使用这种方式,因为使用不方便。简单的测试代码如下,

 

 

测试的test.json文件内容如下

{

  "code": 200,

  "msg": "测试数据",

  "data": {

    "userName": "用户名"

  }

}

测试结果如下,

 

使用Jquery发送ajax请求

以前使用Jquery发送ajax请求比较常用,现在随着技术的发展,Jquery也在逐步被淘汰。下面来讲解一下如果通过Jquery发送get请求和post请求。这时候就需要先引入Jquery文件,可以在本地引入,也可以使用CDN。示例代码如下,

示例代码如下,

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

<!-- 1.引入 jquery -->

  <script src="https://code.jquery.com/jquery-3.7.1.slim.js"></script>

</head>

<body>

  <button onclick="ajaxTestGet()">get请求示例</button>

  <button onclick="ajaxTestPost()">post请求示例</button>

</body>

</html>

<script>

  function ajaxTestGet(){

<!-- 2.使用 jquery -->

    $.ajax({

      // 请求地址

      url: './static/json/test.json',

      // 请求方式

      type: 'get',

      // 请求头

      headers:{

        'loginToken': "null"

      },

      // 请求参数

      data: {

        "username": "username",

        "password": "password"

      },

      //请求数据类型

      contentType: 'application/json',

      // 请求成功回调函数

      success: function (result) {

        console.log("result--->", result);

      },

      // 请求失败回调函数

      error: function () {

        console.error("result--->", result);

      },

      // 请求超时时间

      timeout: 180000,

    });

  }

 

  function ajaxTestPost(){

    $.ajax({

      // 请求地址

      url: './static/json/test.json',

      // 请求方式

      type: 'post',

      // 请求头

      headers:{

        'loginToken': "null"

      },

      // 请求参数

      data: {

        "username": "username",

        "password": "password"

      },

      //请求数据类型

      contentType: 'application/json',

      // 请求成功回调函数

      success: function (result) {

        console.log("result--->", result);

      },

      // 请求失败回调函数

      error: function () {

        console.error("result--->", result);

      },

      // 请求超时时间

      timeout: 180000,

    });

  }

</script>

测试结果如下,

 

 

 

使用Axios发送ajax请求

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。Axios同样可以用于发送ajax请求的javaScript框架,目前在企业中使用最广泛。promise是JavaScript中的一个函数,有兴趣的可以去自学一下。官网地址如下,

http://www.axios-js.com/

可以在在node.js使用它,也可以直接在页面中直接引入cdn使用。下面就简单聊聊在html页面中如何使用。示例代码如下,

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <!-- 1.引入 axios -->

    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>

</head>

<body>

  <button onclick="ajaxTestGet()">get请求示例</button>

  <button onclick="ajaxTestPost()">post请求示例</button>

</body>

</html>

<script>

  function ajaxTestGet(){

      <!-- 2.使用 axios -->

      axios.get('./static/json/test.json', {

          params: {

              ID: 12345

          }

      }).then(function (response) {

              console.log(response);

          })

          .catch(function (error) {

              console.log(error);

          });

  }

 

  function ajaxTestPost(){

      axios.post('./static/json/test.json', {

          firstName: 'Fred',

          lastName: 'Flintstone'

      }).then(function (response) {

              console.log(response);

          })

          .catch(function (error) {

              console.log(error);

          });

  }

</script>

测试结果如下,

 

 

标签:function,请求,示例,json,ajax,html,result,页面
From: https://www.cnblogs.com/yilangcode/p/18085967

相关文章

  • 使用 html 页面编辑精确定位文本文件选中
    如下是一个实例,实现了文本的换行,选中以及滚动到选中文本位置的功能?<htmlstyle='height:100%;'><head><metacharset='UTF-8'/></head><bodystyle='height:100%;padding:0;margin:0;border-width:0;'><divid="cont......
  • HTML 最详细的课件总结
    前言:2016年7月,雅虎核心资产被美国电信巨头Verizon,以48亿美元收购。雅虎倒台后它里面的互联网人才在一小时之内被抢夺一空。当时的互联网缺口异常大。一直到近几年互联网的快速发展不断涌入了一批批新鲜血液,在由于互联网的不断壮大需要新鲜的血液注入所以这个行业一致都......
  • 什么是AJAX?如何使用AJAX实现异步数据传输?
    AJAX,全称为AsynchronousJavaScriptAndXML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,允许在不重新加载整个页面的情况下,对网页的某部分进行更新。在JavaScript中,我们可以使用XMLHttpRequest对象来实现AJAX。下面是......
  • Html2canvas——图片空白的几种排查解决方案
    问题:用html2canvas生成画布图片,再转成pdf。生成图片时内容结构里的图片显示空白。解决:首先服务器设置图片允许跨域,如阿里云腾讯云配置跨域规则。其次图片设置crossOrigin=“anonymous”,并且拿到图片地址加随机参数如src+‘?v=’+Math.random()防止使用缓存,再者html2canvas......
  • webpack5零基础入门-11处理html资源
    1.目的主要是为了自动引入打包后的js与css资源,避免手动引入2.安装相关包npminstall--save-devhtml-webpack-plugin3.引入插件constHtmlWebpackPlugin=require('html-webpack-plugin');4.添加插件(通过new方法调用)/**插件*/plugins:[//plugin配置......
  • HTML学习(3)(HTML字符格式)
    常见的字符格式有字体颜色,字体大小,加粗,倾斜等。字符格式化标签标签功能标签功能<b>定义粗体文本<sub>定义下标字<em>定义着重文本<sup>定义上标字<i>定义斜体字<ins>定义插入字<small>定义小号字<del>定义删除字<strong>定义加重语气<u>下画线计算机输出标签标签功能<code>定义计......
  • 基于Html对父页面打开子页面Dialog()的使用
    1、背景:​ 作者在写项目的时候,遇到了一个很坑的问题,项目前端基于QUI,但是大部分是js+css实现。​ 有一个功能:列表页面使用Dialog()组件打开编辑、新增窗体,编辑、新增窗体点击提交关闭窗体,能够刷新列表页面,无论怎么百度就是找不到可以实现的方法,最终功夫不负有心人,终于找到了一......
  • 19.html+css网页设计实例/“美妆”口红主题介绍/web前端期末大作业/
    前言本文以“美妆”口红网页为主题设计,本实例系统文件种类包含:html结构文件、css网页样式文件。应用DIV、点击事件、表格、搜索等,供大家参考。【关注作者|获取更多源码(2000+个Web案例源码)|优质文章】;您的支持是我创作的动力!看到这里就【点赞收藏博文】,三连支持下吧,3Q!有兴趣的......
  • 第四章总结(页面组件)
    4.1组件的定义及属性   组件是页面视图层(WXML)的基本组成单元,组件组合可以构建功能强大的页面结构。小程序框架为开发者提供了容器视图、基础内容、表单、导航、多媒体、地图、画布、开放能力等8类(30多个)基础组件。   每一个组件都由一对标签组成,有开......
  • ssts-hospital-web-master项目实战记录五十:项目迁移-页面模块实现(主框架-文件结构)
    记录时间:2024-03-20文件结构 翻译搜索复制......