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

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对象中关于setTimeout和setInterval的this介绍

    在JavaScript对象中,setTimeout和setInterval两个API与this的密切关联引发了许多开发者在使用时的困扰。本文将详细介绍setTimeout和setInterval中this的四种情况及其解决方法,以帮助开发者更好地理解和使用。 setTimeout使用中的this 在定时器setTimeout的使用过程中,this指向的是全局…

    JavaScript 2023年6月11日
    00
  • JavaScript replace new RegExp使用介绍

    JavaScript replace new RegExp使用介绍 在JavaScript编程中,我们常常需要使用字符串替换功能。字符串替换的一种实现方式就是使用替换函数 replace()。replace() 函数的第一个参数一般是一个模式匹配正则表达式,用来匹配所有需要替换的字符串,第二个参数是一个替换值,用于将找到的匹配替换成新的字符串。在一些情况下,…

    JavaScript 2023年6月10日
    00
  • JavaScript中文件上传API详解

    JavaScript中文件上传API详解 文件上传是网站开发中经常需要实现的功能之一,而JavaScript作为前端语言也提供了一些API来帮助我们实现文件上传的功能。 input标签的type属性为file的使用 最常见的文件上传方式就是使用表单中的input标签,将type属性值设为file。用户在选择了文件后,会将文件的信息保存在该标签的value属性…

    JavaScript 2023年5月27日
    00
  • js简单判断移动端系统的方法

    判断移动端系统是JS中非常常见的一个需求,下面给出几种判断方式: 方法一:根据navigator.userAgent字符串进行判断 移动端设备的 UA(UserAgent)字符串中,都会包含操作系统的信息,因此我们可以通过解析 UA 字符串来判断设备使用的操作系统。其中一些常见的 UA(UserAgent)字符串包括: Android:/Android/i …

    JavaScript 2023年6月10日
    00
  • Javascript生成器(Generator)的介绍与使用

    Javascript生成器(Generator)的介绍与使用 简介 Javascript生成器是一种特殊类型的函数,它允许我们暂停函数的执行并返回一个中间结果,稍后再继续执行并返回更多的中间结果。在实际应用中,生成器通常用于处理大量数据或者生成一系列的异步任务。 定义 我们可以使用函数声明或函数表达式来定义一个生成器。当定义一个生成器时,我们需要在函数名后面…

    JavaScript 2023年5月27日
    00
  • js中toString方法3个作用

    我来为您讲解 “js中toString方法3个作用” 的完整攻略。 首先,JavaScript中的toString()方法可以将对象转换为字符串表示形式。其中,toString()方法存在于所有的JavaScript对象中,但其实现方式因对象而异。以下是toString()方法的三个作用: 1. 转换为字符串 对于基本数据类型,该方法返回其本身的字符串形式。…

    JavaScript 2023年6月10日
    00
  • 108中超轻量级的加载动画!

    大家好,我是【程序视点】小二哥! 今天要上的菜不是 Animate.js,也不是 Move.js,而是能提供108种加载动画的库:Whirl. 最省力的加载动画 话不多说,直接来看例子。 以上只是冰山一角。whirl的CSS加载动画集合中有108种选项供你挑选。选中喜欢的动画后,点击“Grab the CSS on Github!”。将跳转到Github页面…

    JavaScript 2023年5月8日
    00
  • 判断文件是否正在被使用的JS代码

    判断文件是否正在被使用是一个常见的需求,特别是在需要删除或移动文件的场景中。以下是一些主流的实现方案: 方案一:尝试修改文件属性 文件被占用时,尝试修改文件属性或对文件进行写操作会导致操作失败。因此,可以通过尝试修改文件属性或写入数据来判断文件是否正在被占用。以下是示例代码: function isFileInUse(filePath) { let isUs…

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