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>


目录
相关文章
|
1月前
|
XML 前端开发 JavaScript
|
28天前
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
29天前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
42 3
|
2月前
|
JSON JavaScript 前端开发
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
61 22
|
2月前
|
JavaScript
Node.js GET/POST请求
10月更文挑战第6天
38 2
Node.js GET/POST请求
|
2月前
|
前端开发 JavaScript
回顾前端页面发送ajax请求方式
回顾前端页面发送ajax请求方式
39 18
|
1月前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
2月前
|
前端开发 JavaScript Java
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
83 4
|
2月前
|
前端开发 JavaScript
JS-数据筛选
JS-数据筛选
35 7
|
2月前
|
JavaScript 数据安全/隐私保护
2024了,你会使用原生js批量获取表单数据吗
2024了,你会使用原生js批量获取表单数据吗
57 4