第十一篇JavaScript JSON与AJAX

发布于:2024-04-12 ⋅ 阅读:(35) ⋅ 点赞:(0)

JSON

在JavaScript中,JSON(JavaScript Object Notation)是一种常用的数据格式,用于存储和交换数据。它基于JavaScript的对象字面量语法,但具有更宽松的语法规则。

json 是一种轻量级的数据交换格式

JSON使用键值对的方式表示数据,其中键是一个字符串,值可以是字符串、数字、布尔值、对象、数组或null。以下是一个简单的JSON示例:

{
  "name": "John",
  "age": 25,
  "isStudent": true,
  "hobbies": ["reading", "playing guitar"],
  "address": {
    "street": "123 Main St",
    "city": "New York"
  }
}

在JavaScript中,可以使用JSON.parse()方法将JSON字符串转换为JavaScript对象,如下所示:

var jsonString = '{"name":"John","age":25,"isStudent":true}';
var jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // 输出 "John"
console.log(jsonObject.age); // 输出 25
console.log(jsonObject.isStudent); // 输出 true

相反,可以使用JSON.stringify()方法将JavaScript对象转换为JSON字符串,如下所示:

var jsonObject = {
  name: "John",
  age: 25,
  isStudent: true
};
var jsonString = JSON.stringify(jsonObject);
console.log(jsonString); // 输出 '{"name":"John","age":25,"isStudent":true}'

JSON在Web开发中常用于从服务器获取数据,并在前端进行处理和展示。

AJAX

ajax 的全称 Asynchronous JavaScript and XML (异步 JavaScript 和 XML)。

ajax 是一种创建交互式网页应用的网页开发技术

在JavaScript中使用Ajax可以通过创建一个XMLHttpRequest对象来发送请求,并通过回调函数处理响应结果。以下是一个简单的示例:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
        // 请求成功
        var response = xhr.responseText;
        console.log(response);
    }
};
xhr.open('GET', 'example.com/api', true);
xhr.send();

在上述示例中,通过XMLHttpRequest对象创建了一个异步请求。onreadystatechange事件在请求状态改变时触发,当readyState为4且status为200时表示请求成功。可以通过responseText属性获取服务器响应的数据。

除了GET请求,还可以使用xhr.open方法指定POST请求,并通过xhr.send方法发送请求体数据。

现在,Ajax技术已经发展到了更加方便和高级的阶段,常用的方式是使用jQuery框架的$.ajax方法来进行Ajax请求。例如:

$.ajax({
    url: 'example.com/api',
    method: 'GET',
    success: function(response) {
        console.log(response);
    },
    error: function(xhr, status, error) {
        console.log(error);
    }
});

$.ajax方法接收一个配置对象,其中url指定请求的URL,method指定请求方法,successerror分别是请求成功和请求失败时的回调函数。

除了jQuery,还有其他一些流行的库和框架,如axios和fetch,也提供了更加简洁和便利的方式来进行Ajax请求。


网站公告

今日签到

点亮在社区的每一天
去签到