Javascript-Ajax数据请求

简介: Javascript-Ajax数据请求

Ajax数据请求


Ajax是一种用于创建交互式Web应用程序的技术,它允许在不刷新整个页面的情况下向服务器发送请求并获取响应。Ajax的全称是Asynchronous JavaScript and XML(异步JavaScript和XML),尽管XML在现代的Ajax应用中并不是必需的,常见的替代格式有JSON。


Ajax通过使用JavaScript与服务器进行异步通信,可以实现以下功能:


异步加载数据:在用户与页面交互的同时,通过Ajax从服务器请求数据,并将数据动态更新到页面上,而不需要刷新整个页面。

动态更新内容:通过Ajax,可以根据用户的操作或事件,仅更新部分页面的内容,而不需要重新加载整个页面。

表单验证与提交:通过Ajax,在用户填写表单后可以在不刷新页面的情况下进行表单验证,并将表单数据发送给服务器。

提供实时反馈:通过Ajax可以实现实时数据更新,例如聊天应用中的消息实时推送功能。

加载外部数据:通过Ajax可以从服务器请求并加载外部数据,例如远程API返回的JSON数据。


    <script>
        function getStyle(obj,attr){
            return window.getComputedStyle ? getComputedStyle(obj)[attr] : obj.currentStyle[attr];
        }
        //1. 创建XMLHttpRequest对象
        // new XMLHttpRequest()
        // new ActiveXObject()
        let xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
        // alert(xhr);
        //2. 与服务器建立连接
        xhr.open('get','http://localhost:8888/test/second',true);
        //3. 发送请求
        xhr.send();
        //4. 等待响应
        xhr.onload = function(){
            let data = JSON.parse(xhr.responseText);
            console.log(data);
        }
    </script>


<script>
        // //1. 创建XMLHttpRequest对象  同步
        // let xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
        // //2. 与服务器建立连接  (同步) 
        // xhr.open('get','http://localhost:8888/test/second',true);
        // //3. 发送请求
        // xhr.send(); //同步   (等待消息-异步)
        // //4. 等待响应
        // //同步
        // xhr.onload = function(){
        //     console.log(JSON.parse(xhr.responseText));
        // }
        //异步:
        //1. 创建对象  2. 建立连接  3. 发送(同步) 4. 注册事件(同步) 响应(异步)
        //1. 创建XMLHttpRequest对象  同步
        let xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
        //2. 与服务器建立连接  (同步) 
        xhr.open('get','http://localhost:8888/test/second',false);
        //4. 等待响应
        //同步
        xhr.onload = function(){
            console.log(JSON.parse(xhr.responseText));
        }
        //3. 发送请求
        xhr.send(); //同步(等待消息-同步)
        //同步:
        //1. 创建对象  2. 与服务器建立连接  4. 注册事件 3. 发送请求  响应回数据
        //统一成: 1  2   4  3 
    </script>


Ajax中get传参

   <script>
        //https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=49055317_42_hao_pg&wd=12&fenlei=256&rsv_pq=0x83ef5202000236c9&rsv_t=be13wbQPabfT5yEnV118zeSur%2B%2FSC8d8l1oKH%2FmvvEDr54hb538gQgfQzEIF&rqlang=en&rsv_enter=1&rsv_dl=tb&rsv_sug2=0&rsv_btype=i&inputT=1136&rsv_sug4=1135
        const btn = document.querySelector('input');
        //添加事件
        btn.onclick = function(){
            //1. 创建XMLHttpRequest对象
            let xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
            //2. 与服务器建立连接
            //get请求: 'url?key=value&key=value&key=value'
            xhr.open('get','http://localhost:8888/test/third?name=树民&age=15',true);
            //4. 注册事件
            xhr.onload = function(){
                console.log(JSON.parse(xhr.responseText));
            }
            //3. 发送请求
            xhr.send();
        }
    </script>


Ajax中post传参

    <script>
        //post传参是在http协议的请求体中传递。通过send发送
        //注:在发送请求前,务必先设置请求头。
        //1. 获取页面元素
        const btn = document.querySelector('input');
        //2. 添加事件
        btn.onclick = function(){
            //1. 创建XMLHttpRequest对象
            let xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
            //2. 与服务器建立连接
            xhr.open('post','http://localhost:8888/test/fourth',true);
            //4. 注册事件
            xhr.onload = function(){
                console.log(JSON.parse(xhr.responseText));
            }
            //3. 发送请求
            //设置请求头
            //'application/x-www-form-urlencoded' : 表单格式
            //'application/json' : json格式
            xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
            xhr.send('name=张三&age=18');
        }
    </script>


目录
相关文章
|
2天前
|
JavaScript
Node.js GET/POST请求
10月更文挑战第6天
10 2
Node.js GET/POST请求
|
1天前
|
前端开发 JavaScript
JS-数据筛选
JS-数据筛选
12 7
|
1天前
|
JavaScript 数据安全/隐私保护
2024了,你会使用原生js批量获取表单数据吗
2024了,你会使用原生js批量获取表单数据吗
16 4
|
6天前
|
缓存 JavaScript CDN
一次js请求一般情况下有哪些地方会有缓存处理?
一次js请求一般情况下有哪些地方会有缓存处理?
27 4
|
4天前
|
前端开发 JavaScript 数据处理
JQuery 拦截请求 | Ajax 请求拦截
【10月更文挑战第4天】
15 1
|
1月前
|
前端开发
React技术栈-react使用的Ajax请求库实战案例
这篇文章介绍了在React应用中使用Axios和Fetch库进行Ajax请求的实战案例,展示了如何通过这些库发送GET和POST请求,并处理响应和错误。
37 10
React技术栈-react使用的Ajax请求库实战案例
|
26天前
|
JavaScript 前端开发 安全
js逆向实战之烯牛数据请求参数加密和返回数据解密
【9月更文挑战第20天】在JavaScript逆向工程中,处理烯牛数据的请求参数加密和返回数据解密颇具挑战。本文详细分析了这一过程,包括网络请求监测、代码分析、加密算法推测及解密逻辑研究,并提供了实战步骤,如确定加密入口点、逆向分析算法及模拟加密解密过程。此外,还强调了法律合规性和安全性的重要性,帮助读者合法且安全地进行逆向工程。
71 11
|
1月前
|
前端开发
React技术栈-react使用的Ajax请求库用户搜索案例
这篇文章展示了一个React技术栈中使用Ajax请求库(如axios)进行用户搜索的实战案例,包括React组件的结构、状态管理以及如何通过Ajax请求获取并展示GitHub用户数据。
27 7
React技术栈-react使用的Ajax请求库用户搜索案例
|
20天前
|
JSON JavaScript 前端开发
Jquery常用操作汇总,dom操作,ajax请求
本文汇总了jQuery的一些常用操作,包括DOM元素的选择、添加、移除,表单操作,以及如何使用jQuery发送Ajax请求,涵盖了GET、POST请求和文件上传等常见场景。
|
23天前
|
JSON JavaScript 前端开发
js请求后端9
js请求后端9
32 2