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}
相关推荐
IT_Octopus2 小时前
【零基础入门 LLM 开发 · Day 15】:LangChain 注册工具——告别手写 JSON Schema
java·langchain·json
星 海4 小时前
【json】cJSON库解析文件
c语言·json·cjson
工具派1 天前
JSON转Excel后18位订单号不对了?数字精度与类型边界实测
json·excel
阿皮 API1 天前
Shopee虾皮商品详情API接口调用实战:Python获取东南亚商品数据与JSON解析
开发语言·python·json
死磕音视频1 天前
让大模型稳定输出 JSON:结构化输出的三种方法与 Python 校验实践
json·大模型api·pydantic·结构化输出
今天的砖头有点烫手啊1 天前
Java 序列化到底怎么选?从 Serializable 到 Protobuf 的演进与选型
java·json
小白学鸿蒙1 天前
OpenHarmony 预置应用配置详解:/system/etc/app/ 下的 5 个 JSON
json·openharmony·预置应用
for_ever_love__1 天前
LangChain 结构化输出:让模型稳定吐出符合 schema 的 JSON
langchain·json
健康活着就好1 天前
# 手写Promise.all和Promise.race,面试再也不怕了
面试·json
隐退山林1 天前
JWT令牌技术
java·开发语言·java-ee