Ajax中数据传递的另一种模式 javascript Object Notation思想(JSON)

yizhihongxing

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。由于 JSON 具有比 XML 更加简单、更加易读、更加易于书写,越来越多的 Web 服务开始采用 JSON 作为数据交换的标准格式。

JSON 的基本语法格式为键值对,即“key:value”格式,用“{}”表示一个对象,用“[]”表示数组,JSON中的数据类型支持 string、number、boolean、null、array、object。通过 JavaScript 代码,可以自由的生成和解析 JSON 数据。在 AJAX 技术中,JSON 也经常被用来传递数据。下面我们来看一个使用 JSON 进行数据传递的实际示例。

示例1

假如我们有一个后端接口 api/getInfo ,返回的数据格式为:

{
    "name": "张三",
    "age": 25,
    "gender": "男"
}

我们可以通过 AJAX 请求获取这个接口返回的 JSON 数据,然后在前端展示出来。

// 封装 AJAX 请求函数
function ajaxGet(url, fn) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) {
            fn(xhr.responseText);
        }
    };
    xhr.send();
}

// 发送 AJAX 请求获取数据
ajaxGet('api/getInfo', function(responseText) {
    // 将返回的 JSON 数据解析为 JavaScript 对象
    var data = JSON.parse(responseText);
    // 获取前端内容的 DOM 节点
    var nameNode = document.getElementById('name');
    var ageNode = document.getElementById('age');
    var genderNode = document.getElementById('gender');
    // 将数据展示到页面上
    nameNode.innerHTML = data.name;
    ageNode.innerHTML = data.age;
    genderNode.innerHTML = data.gender;
});

示例2

假如我们要向后端发送一个 POST 请求,包含一条数据:

{
    "title": "JSON 教程",
    "author": "张三",
    "content": "JSON 是..."
}

我们可以通过 AJAX 发送 POST 请求,将这个 JSON 数据作为请求体发送给后端。

// 封装 AJAX 请求函数
function ajaxPost(url, data, fn) {
    var xhr = new XMLHttpRequest();
    xhr.open('POST', url, true);
    xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) {
            fn(xhr.responseText);
        }
    };
    xhr.send(JSON.stringify(data));
}

// 发送 POST 请求
var data = {
    "title": "JSON 教程",
    "author": "张三",
    "content": "JSON 是..."
};
ajaxPost('api/sendData', data, function(responseText) {
    // 处理返回数据
    console.log(responseText);
});

在以上两个示例中,我们使用 JSON 格式进行了数据的传递和解析。使用 JSON 格式可以让数据更加简单易读,同时也方便了数据的处理和传递。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ajax中数据传递的另一种模式 javascript Object Notation思想(JSON) - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Javascript 是你的高阶函数(高级应用)

    Javascript 是你的高阶函数(高级应用) 在Javascript中,函数是一等公民,这意味着函数可以像变量一样被存储、传递和操作。高阶函数是基于这个概念,是指可以接受函数作为参数并/或返回函数的函数。 传递函数作为参数 以下是一个例子,演示如何将函数作为参数传递: function greet(name, callback) { console.lo…

    JavaScript 2023年5月27日
    00
  • html页面显示年月日时分秒和星期几的两种方式

    让我们来探讨一下如何在HTML页面中显示当前的年月日、时分秒和星期几的两种方式。 方式一:使用JavaScript实现 实现步骤: 在HTML页面中添加一个显示日期时间的标签,例如这里我们使用<p>标签作为容器,<p id=”datetime”></p>: <p id="datetime">…

    JavaScript 2023年5月27日
    00
  • 5种 JavaScript 方式实现数组扁平化

    下面是我准备的详细的 “5种 JavaScript 方式实现数组扁平化” 的攻略: 概述 在实际的开发中,数组扁平化是一个经常用到的操作,其中数组扁平化就是将嵌套的多层数组转换成一层数组。本文将会介绍5种 JavaScript 方式实现数组扁平化的具体步骤。 1. 使用 reduce() 方法 该方式使用reduce方法将嵌套的多层数组转换成一层数组。具体步…

    JavaScript 2023年5月27日
    00
  • jQuery中读取json文件示例代码

    针对你的问题,我将为你提供详细的解答。 如果要在jQuery中读取JSON文件,可以使用jQuery中的ajax()方法。ajax()方法通过HTTP请求加载远程的或本地的数据。 以下是使用ajax()方法读取JSON文件的示例代码: $.ajax({ url: "data.json", // 必须是本地的或远程的JSON文件路径 dat…

    JavaScript 2023年5月27日
    00
  • Javascript中的关键字和保留字整理

    Javascript中的关键字和保留字整理 在Javascript中,有些字是具有特殊含义的,这些字被称为关键字。而有些字没有特殊含义,但是被保留,这些字就被称为保留字。本文将介绍Javascript中的关键字和保留字,以及它们的具体用途。 关键字 Javascript中的关键字是指具有特殊含义的字,不可以用作变量名或函数名等标识符。下面列出Javascri…

    JavaScript 2023年5月18日
    00
  • Javascript 实用小技巧

    Javascript 实用小技巧 Javascript 作为一门非常灵活的脚本语言,具有很多实用的小技巧,本文将为您介绍几个实用的 Javascript 技巧。 1. 用箭头函数代替匿名函数 在 Javascript 中,匿名函数是非常常见的一种函数,但是匿名函数的语法不如箭头函数简洁易懂。我们可以使用 ES6 中的箭头函数来替换匿名函数: // 用匿名函数…

    JavaScript 2023年5月18日
    00
  • JavaScript中使用Math.PI圆周率属性的方法

    当我们需要计算几何图形的面积或周长时,经常需要用到圆周率常数 π (pi)。在 JavaScript 中,我们可以使用 Math.PI 属性来访问这个数值,下面是详细步骤: 步骤1:访问Math.PI常数 Math.PI 属性中存储着圆周率的数值。可以通过直接使用 Math.PI 的方式来访问这个属性。代码如下: console.log(Math.PI); …

    JavaScript 2023年5月28日
    00
  • 使用3D引擎threeJS实现星空粒子移动效果

    使用3D引擎threeJS实现星空粒子移动效果的完整攻略包含以下几个步骤: 步骤一:引入three.js 首先需要在代码中引入three.js这个库,代码如下: <script src="https://cdn.bootcdn.net/ajax/libs/three.js/105/three.min.js"></scri…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部