Ajax简介和实例

这篇具有很好参考价值的文章主要介绍了Ajax简介和实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

什么是 AJAX ? 

AJAX实例 

ajax-get无参

 ajax-get有参

对象和查询字符串的互转

ajax-post

 ajax-post 表单


AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

什么是 AJAX ? 

菜鸟教程是这样介绍的:

AJAX = 异步 JavaScript 和 XML。

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

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

Ajax简介和实例,HTML+CSS+JS,ajax,前端,javascript

AJAX实例 

从前面的学习,我们可以知道get和post的区别,详情见前端学习之HTTP协议的介绍(5)_学前端的狗头苏丹的博客-CSDN博客

ajax-get无参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1.创建一个请求实例
        var xhr = new XMLHttpRequest();
        // 2.打开一个链接 open('get/post','URL')
        xhr.open('get','http://121.199.0.35:8888/index/carousel/findAll');
        // 3.发送请求 get携带参数在地址栏 post携带参数在请求体
        xhr.send();
        // 4.监听状态改变 接收响应 onreadystatechange
        // readyState 4 响应完成
        // 0 open未调用 1 open已经调用 2 接收响应头信息 3 接收响应体信息 4 响应完成
        // status 200 响应成功
        xhr.onreadystatechange = function(){
            // 表示响应完成  表示响应成功
            if(xhr.readyState === 4 && xhr.status === 200){
                console.log(xhr.response,'接收响应体');
                var res = JSON.parse(xhr.response);
                console.log(res);
                res.data.forEach(function(item){
                    var div = document.createElement('div');
                    var img = document.createElement('img');
                    div.innerHTML = item.name + ' ' +item.introduce;
                    img.src = item.url;
                    img.style.width = '400px';
                    document.body.appendChild(div);
                    document.body.appendChild(img);
                })
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

Ajax简介和实例,HTML+CSS+JS,ajax,前端,javascript

 ajax-get有参

利用Qs.stringify() 将对象序列化成URL形式进行拼接,需要引入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.1/qs.js"></script>
    <script>
        window.onload = function(){
            /**
             * get请求带参数 分页查询 一页查询11条数据 page1 pageSize 11
            */
            // 1.创建一个XMLHttpRequest请求实例
            var xhr = new XMLHttpRequest();
            var params = {
                page:1,
                pageSize:10
            }
            // 将对象转为查询字符串 将对象 序列化成URL的形式,以&进行拼接  Qs.styingify()
            var paramsString = Qs.stringify(params);
            console.log(paramsString);
            // ?page=1&pageSize=11 查询字符串
            // 2.打开一个链接
            xhr.open('get','http://121.199.0.35:8888/index/article/pageQuery'+'?'+paramsString);
            // 3.发送请求
            xhr.send();
            // 4.监听状态改变 接收响应
            xhr.onreadystatechange = function(){
                if(xhr.readyState === 4 && xhr.status === 200){
                    var response = JSON.parse(xhr.response);
                    console.log(response);
                    var dl = document.createElement('dl');
                    response.data.list.forEach(function(item){
                        var dt = document.createElement('dt'); 
                        var dd = document.createElement('dd');
                        dt.innerHTML = item.title;
                        dd.innerHTML = item.content;
                        dl.appendChild(dt);
                        dl.appendChild(dd);
                        document.body.appendChild(dl);
                    })
                }
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

Ajax简介和实例,HTML+CSS+JS,ajax,前端,javascript

 文章来源地址https://www.toymoban.com/news/detail-537541.html

对象和查询字符串的互转

假如不使用Qs的方法,将该怎么转换呢?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var obj = {
            name:'terry',
            age:12,
            title:'标题'
        }

        // 转成查询字符串 ?name=terry&age=12&title=标题
        function queryString(obj){
            var str = '';
            for(let key in obj){
                // key 属性名 obj[key]属性值 
                str += '&'+key+ '=' + obj[key]
            }
            str = str.replace('&','?');
            return str;
        }
        var res= queryString(obj);
        // res ?name=terry&age=12&title=标题   将查询字符串转为对象
        function parse(res){
            var obj = {};
            res.split('&').forEach(function(item){
                if(item.includes('?')){
                    item = item.slice(1);
                }
                // console.log(item);     ["?name=terry","age=12","title=标题"]
                let newArr = item.split('=');
                // console.log(newArr);   [name,terry] [age,12] [title,标题]
                obj[newArr[0]] = newArr[1];
            })
            return obj;
        }
        console.log(parse(res));
    </script>
</head>
<body>
    
</body>
</html>

Ajax简介和实例,HTML+CSS+JS,ajax,前端,javascript

ajax-post

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 1.创建一个请求实例
        var xhr = new XMLHttpRequest();
        // 2.打开链接
        var obj = {
            username:'admin1',
            password:123321
        }
        xhr.open('post','http://121.199.0.35:8888/user/login');
        // 2.2 设置请求头为json格式 setRequestHeader 
		/**
		 * 1.Content-Type application/json 设置json格式
		 * 2.Content-Type application/x-www-form-urlencoded 设置为表单格式 需要URL转码 用Qs.stringify()
		 * 3.Content-Type text/plain;charset=UTF-8 默认值
		*/
        xhr.setRequestHeader('Content-Type','application/json;charset=UTF-8');
        // 3.发送请求
        xhr.send(JSON.stringify(obj));
        // 4.监听状态改变 接收响应
        xhr.onreadystatechange = function(){
            if(xhr.readyState ===4 && xhr.status === 200){
                console.log(JSON.parse(xhr.response));
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

Ajax简介和实例,HTML+CSS+JS,ajax,前端,javascript

 ajax-post 表单

需要使用Qs.stringify()将表单转换为URL形式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.1/qs.js"></script>
    <script>
        // 1.创建一个请求实例
        var xhr = new XMLHttpRequest();
        // 2.打开一个链接
        xhr.open('post','http://121.199.0.35:8888/baseUser/saveOrUpdate');
        var obj = {
            username:'杰米',
            password:'123456',
            telephone:'15921315421'
        }
        // 2.2设置请求头的格式
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8')
        // 3.发送请求
        xhr.send(Qs.stringify(obj));
        // 4.监听状态改变 接收响应
        xhr.onreadystatechange = function(){
            if(xhr.readyState ===4 && xhr.status === 200){
                console.log(JSON.parse(xhr.response));
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

Ajax简介和实例,HTML+CSS+JS,ajax,前端,javascript

 

到了这里,关于Ajax简介和实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端架构师之01_JavaScript_Ajax

    1.1 Web服务器 Web服务器又称为网站服务器,主要用于提供网上信息浏览服务。 常见的Web服务器软件有Apache HTTP Server(简称Apache)、Nginx等。 浏览器与服务器交互 在Web服务器中,请求资源又分为静态资源和动态资源。 静态资源的特点:只要服务器没有修改这些文件,客户端每

    2024年02月07日
    浏览(32)
  • [HTML]Web前端开发技术13(HTML5、CSS3、JavaScript )横向二级导航菜单 Web页面设计实例——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 横向二级导航菜单 Web页面设计实例 总结 该练的还是要练,终究是自己的! 网页标题:二级下拉导航

    2024年01月17日
    浏览(56)
  • 1、关于前端js-ajax绕过

    、js--Ajax 传统请求跟js--Ajax请求的差别 在实例中用的上js-ajax的有 表单验证: 在用户填写表单时,可以使用 Ajax 在不刷新页面的情况下验证表单字段,并提供即时反馈。 实时搜索: 在搜索框中输入内容时,可以使用 Ajax 在用户输入的同时向服务器发送请求,动态获取搜索结

    2024年02月05日
    浏览(39)
  • AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(五)—— 项目-新闻头条-数据管理平台-ajax综合案例前端

    愿许秋风知我意,解我心中意难平。 推荐使用, 每个程序员都有自己的管理方式。 HTML结构: 1.为什么要提取公共前缀地址(基地址),因为公司业务可能会更换服务器,如果你不想一条一条地修改请求地址的话。 后续使用axios时,url不需要再写前缀。 2.请求成功与失败 成

    2024年01月25日
    浏览(40)
  • AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(七)

    实操: server.js utils/lib/index.js utils/package.json 从别处(网上、其他人手中)拿到写好的项目,一般不携带node_modules文件夹(所占存储空间大) 但有package.json文件,里面记载了当前项目下载过的包 还有package-lock.json文件,固定软件包的版本 导入模块/包,除了自己创建的模块、包

    2024年01月22日
    浏览(54)
  • 8.物联网LWIP,简要介绍http(超文本,URL),html(css,ajax),web实现打开灯

    一。HTTP详解 1.超文本:(HyperText) (1)超文本文件彼此链接,形成 网状 (web),内含有 超链接 (Link)与各种 媒体元素标记 (Markup)。 (2)超文本文件彼此 链接使用URL 表示。(下面解释URL) (3)常见超文本格式是 超文本标记 语言 HTML 。(下面解释HTML,代码) 综上

    2024年02月10日
    浏览(37)
  • spring boot项目资源跳转,及引入js、css和a标签,ajax等的路径问题

    请求转发是服务器内部资源的一种跳转方式,即当浏览器发送请求访问服务器中 的某一个资源(A)时,该资源将请求转交给另外一个资源(B)进行处理并且由资 源B做出响应的过程,就叫做请求转发。 请求转发的特点: 请求转发实现: spring mvc的转发 可以看出转发路径前面

    2024年02月15日
    浏览(25)
  • javascript常见100问|前端基础知识|问ajax-fetch-axios-区别请用 XMLHttpRequestfetch 实现 ajax节流和防抖px em rem vw/箭头函数的缺点

    HTML CSS JS HTTP 等基础知识是前端面试的第一步,基础知识不过关将直接被拒。本章将通过多个面试题,讲解前端常考的基础知识面试题,同时复习一些重要的知识点。 扎实的前端基础知识,是作为前端工程师的根本。基础知识能保证最基本的使用,即招聘进来能干活,能产出

    2024年04月27日
    浏览(39)
  • 【Ajax】Ajax 简介

    Ajax(Asynchronous JavaScript and XML)是一种用于创建交互式网页应用程序的技术。它通过使用 JavaScript、XML(现在更常用的是 JSON)和异步通信来实现在不重新加载整个页面的情况下与服务器进行数据交换。 异步通信:Ajax 使用异步方式与服务器进行通信,不需要刷新整个页面,减

    2024年02月15日
    浏览(28)
  • 【Ajax】Ajax与XML简介

    -1.1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式 1.2 XML 简介 XML 可扩展标记语言。 XML 被设计用来

    2024年02月13日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包