JAVAEE知识整理之AJAX、JSON

目录

AJAX

AJAX是一种用于创建快速动态网页 的技术。

通过在后台与服务器进行少量数据交换 ,AJAX 可以使网页实现异步更新 。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
主要特征 :异步通信、局部更新、只传输必要数据、响应更快
工作原理

  • 创建XMLHttpRequest对象:variable = new XMLHttpRequest();
  • 配置请求参数:open(method, url, async)
    • method:请求get或post
    • url:文件位置
    • async:同步false或异步true
  • 发送请求:send(string)
    注意:string:仅用于 POST 请求
  • 处理响应:
    • responseText:获得字符串形式的响应数据
    • responseXML:获得 XML 形式的响应数据

AJAX参数说明

  • open():携带参数

  • setRequestHeader():携带头部信息

  • send():发送get/post请求
    创建AJAX请求

    java 复制代码
    // 1. 创建 XMLHttpRequest 对象
    var xhr = new XMLHttpRequest();
    
    // 2. 配置请求
    xhr.open('GET', 'https://api.example.com/data', true);
    
    // 3. 设置回调函数
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4) { // 请求完成
            if (xhr.status === 200) { // 成功响应
                // 处理响应数据
                console.log(xhr.responseText);
            } else {
                // 处理错误
                console.error('请求失败: ' + xhr.status);
            }
        }
    };
    
    // 4. 发送请求
    xhr.send();

jQuery中的AJAX

java 复制代码
$.ajax({
    url: 'url', // 目标URL
    type: 'GET', // 请求类型,可以是GET、POST、PUT、DELETE等
    dataType: 'json', // 预期服务器返回的数据类型
    data: {param1: 'value1', param2: 'value2'}, // 发送到服务器的数据
    beforeSend: function(xhr) {
        // 发送请求前可以在这里做些什么,例如设置自定义HTTP头部
    },
    success: function(response) {
        // 请求成功时的回调函数
        console.log(response);
    },
    error: function(xhr, status, error) {
        // 请求失败时的回调函数
        console.log(error);
    },
    complete: function(xhr, status) {
        // 请求完成时的回调函数(无论成功或失败)
    }
});

JSON

JSON是一种轻量级 的数据交换格式。
结构组成 :键值对组成或有序值列表。
基本规则

  • 形式:"key":value
  • 有逗号隔开
  • 大括号{}保存对象
  • 中括号\[\]保存数组
  • 字符串必须使用双引号
  • 值可以是:字符串、数字、布尔值、数组、对象、null

示例:

name": "张三", "age": 30, "isStudent": false, "hobbies": "读书", "游泳", "address": { "city": "北京", "street": "朝阳路" }, "scores": 85, 92, 78, "graduate": null }

js中使用JSON

将json字符串转换为js对象(解析):JSON.parse()

javascript 复制代码
const jsonString = '{"name":"张三","age":25}';
const obj = JSON.parse(jsonString);
console.log(obj.age); // 输出: 25

将js对象转换为json字符串(序列化):JSON.stringigy()

javascript 复制代码
const person = {
  name: "李四",
  age: 28,
  isEmployed: true
};
const jsonString = JSON.stringify(person);
console.log(jsonString); // 输出: {"name":"李四","age":28,"isEmployed":true}
相关推荐
鬼手点金10 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
AlfredZhao11 小时前
VS Code 一键美化 JSON:不用安装插件
json
zhanghaha13141 天前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
云水一下1 天前
零基础玩转bWAPP靶场(四十六):XSS - Reflected (AJAX/JSON)
web安全·ajax·json·xss·bwapp·reflected
starzy19901 天前
Spark 核心之自定义累加器以及版本对比变化深度剖析
大数据·ajax·spark
小小龙学IT1 天前
simdjson:利用 SIMD 指令实现 GB/s 级 JSON 解析的 C++ 开源库
开发语言·c++·json
天吾cc1 天前
JSON 与 cJSON 学习笔记
笔记·学习·json
大家的林语冰1 天前
👍 JS 还在进化,ES2026 正式推出,最新七大特性补全!
前端·javascript·json
秋田君1 天前
QT_JSON文件操作
开发语言·qt·json
k4m7v2pz1 天前
Rust 规则热重载实战:用 serde_json + notify 告别重启
开发语言·rust·json·规则引擎·notify·热重载