AJAX 总结

简介: 简单使用

1.jquery ajax

// 1. 引入express
const { json } = require('body-parser');
const express = require('express');

// 2. 创建应用对象
const app = express();

// 3. 创建路由规则
// request 是对请求报文的封装
// response 是对响应报文的封装
app.get('/server', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
// 设置响应体
response.send('HELLO AJAX-2');

});

// 可以接受任意类型的请求
app.all('/server', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
// 响应头
response.setHeader('Access-Control-Allow-Headers', '*');
// 设置响应体
response.send('HELLO AJAX POST');

});
// JSON 响应
app.all('/json-server', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
// 响应头
response.setHeader('Access-Control-Allow-Headers', '*');
// 响应一个数据
const date = {
    name: 'atguigu'
};
// 对对象进行字符串转换
let str = JSON.stringify(date);
// 设置响应体
response.send(str);

});
// 针对 IE 缓存
app.all('/ie', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
// 设置响应体
response.send('HELLO IE');

});
// 延时响应
app.all('/delay', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Headers', '*');
setTimeout(() => {
    // 设置响应体
    response.send('延迟响应');
}, 3000)

});

// jQuery 服务
app.all('/jquery-server', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
// response.send('hello jquery ajax');
const date = { name: '尚硅谷' };
response.send(JSON.stringify(date));

});
// axios 服务
app.all('/axios-server', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Headers', '*');
// response.send('hello jquery ajax');
const date = { name: '尚硅谷' };
response.send(JSON.stringify(date));

});
// fetch 服务
app.all('/fetch-server', (request, response) => {

// 设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Headers', '*');
// response.send('hello jquery ajax');
const date = { name: '尚硅谷' };
response.send(JSON.stringify(date));

});

// 4. 监听端口启动服务
app.listen(8080, () => {

console.log("服务已经启动, 8080端口监听中...");

})

<button>post</button>
<button>ajax</button>
<script>
    var btns = document.querySelectorAll('button')
        // 配置 baseurl
    axios.defaults.baseURL = 'http://127.0.0.1:8080';
    btns[0].onclick = function() {
        // get 请求
        axios.get('/axios-server', {
            // url 参数
            params: {
                id: 100,
                vip: 7
            },
            // 请求头信息
            headers: {
                name: 'atguigu',
                age: 20
            }
        }).then(value => {
            console.log(value);
        })
    }

    btns[1].onclick = function() {
        axios.post('/axios-server', {
            username: 'admin',
            password: 'admin'
        }, {
            // url
            params: {
                id: 200,
                vip: 9
            },
            // 请求头参数
            headers: {
                height: 180,
                weight: 180,
            },

        })
    }

    btns[2].onclick = function() {
        axios({
            // 请求方法
            method: 'POST',
            // url
            url: '/axios-server',
            // url 参数
            params: {
                vip: 10,
                level: 30
            },
            // 头信息
            headers: {
                a: 100,
                b: 200
            },
            // 请求体参数
            date: {
                username: 'admin',
                password: 'admin'
            }
        }).then(response => {
            // 响应状态码
            console.log(response.status);
            // 响应状态字符串
            console.log(response.statusText);
            // 响应头信息
            console.log(response.headers);
            // 响应体
            console.log(response.date);
        })
    }
</script>
相关文章
|
10月前
|
机器学习/深度学习 人工智能 数据可视化
人工智能在图形学领域的研究热点有哪些?
AIGC:通过生成对抗网络(GAN)、变分自编码器(VAE)及其变体等技术,能够根据用户输入的文字描述、草图等生成高质量、高分辨率的图像,在艺术创作、游戏开发、广告设计等领域应用广泛。如OpenAI的DALL-E、Stable Diffusion等模型,可生成风格各异、内容丰富的图像,为创作者提供灵感和素材.
336 59
|
5月前
|
监控 数据库
【YashanDB 知识库】ycm 托管数据库时报错 OM host ip:127.0.0.1 is not support join to YCM
在托管数据库时,若 OM 的 IP 被设置为 127.0.0.1,将导致无法托管至 YCM,并使数据库失去监控。此问题源于安装时修改了 OM 的监听 IP。解决方法包括:将 OM 的 IP 修改为本机实际 IP 或 0.0.0.0,同时更新 env 文件及 yasom 后台数据库中的相关配置。经验总结指出,应避免非必要的后台 IP 修改,且数据库安装需遵循规范,不使用仅限本机访问的 IP(如 127.0.0.1)。
|
11月前
|
XML JavaScript Java
BeanFactory 和 FactoryBean的区别
本文介绍了Spring框架中的`BeanFactory`和`FactoryBean`。`BeanFactory`是Spring的核心接口,用于管理Bean的创建、配置及依赖注入。其实现包括`DefaultListableBeanFactory`和已废弃的`XmlBeanFactory`。`FactoryBean`则用于动态创建Bean实例,支持懒加载及AOP代理创建。文章还通过示例展示了如何实现一个`FactoryBean`,并通过测试验证其功能。最后附上了作者信息及版权声明。
381 0
BeanFactory 和 FactoryBean的区别
|
8月前
|
SQL 关系型数据库 MySQL
Mysql-常用函数及其用法总结
以上列举了MySQL中一些常用的函数及其用法。这些函数在日常的数据库操作中非常实用,能够简化数据查询和处理过程,提高开发效率。掌握这些函数的使用方法,可以更高效地处理和分析数据。
227 19
|
分布式计算 并行计算 数据处理
大规模数据处理的最佳实践:使用 Dask 进行高效并行计算
【8月更文第29天】在大数据时代,高效地处理大规模数据集是至关重要的。Python 社区提供了一些强大的工具来帮助开发者进行并行和分布式计算,其中之一就是 Dask。本文将详细介绍如何使用 Dask 来优化大规模数据集的处理效率,并提供一些实用的代码示例。
1863 3
|
10月前
|
监控 网络协议 数据安全/隐私保护
vos3000外呼系统如何检查落地网关配置正常,路由分析
使用VOS3000外呼系统时,确保呼叫畅通的关键在于检查落地网关配置和进行路由分析。具体步骤包括:登录管理界面,检查网关状态和配置,配置外呼规则,测试拨打电话,以及分析日志和报告。通过这些步骤,可以确保系统稳定运行,提高外呼成功率和通话质量。
|
机器学习/深度学习 测试技术 API
【Python-Keras】Keras搭建神经网络模型的Model解析与使用
这篇文章详细介绍了Keras中搭建神经网络模型的`Model`类及其API方法,包括模型配置、训练、评估、预测等,并展示了如何使用Sequential模型和函数式模型来构建和训练神经网络。
383 1
|
Oracle 关系型数据库 MySQL
|
Ubuntu Java Shell
反编译apk文件,得到其源代码的方法!!
反编译apk文件,得到其源代码的方法!!
268 1
|
存储 自然语言处理 机器人
Hologres+大模型初探,让ChatGPT回答商家问题
本文介绍基于Hologres+ChatGPT提供智能客服服务的实践。
2820 58
Hologres+大模型初探,让ChatGPT回答商家问题