ajax第一天

达成的能力目标

  1. 能够知道Ajax 可以使网页在不重新刷新的情况下实现局部更新数据
  2. 能读懂Api接口描述文档 (数据接口文档)
  3. 能够使用jQuery编写发送Ajax GET和POST请求的固定套路代码
  4. 能够分析服务器返回的数据如何转换成Dom元素呈现在界面上
  5. 能够理解Ajax的本质是使用XMLHttpRequest对象与服务器进行通讯
  6. 能够使用art-template模板实现将服务器返回的数据转换成Dom元素呈现在界面上
  7. 能够知道Ajax请求中的两种跨域解决方案JSONP和CORS
  8. 能够完成英雄的增、删、查、上传头像业务

Get请求

  1. 向约定客户端向服务器要资源就用Get请求,获取在这里插入图片描述
  2. 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Post请求

作用:该方法是利用Ajax发送Post请求将数据提交给服务器

语法和参数

语法格式
$.post(url, [data], [callback], [type])
参数名称 参数类型 是否必填 参数说明
url string 字符串 必填 要请求的资源地址,我们通常叫做Api接口
例如:http://127.0.0.1:3001/addHeroSkin
此地址通常是由Java,PHP,Python,.Net等后端工程师提供也
可以由前端工程师编写NodeJS代码来实现
data object 对象 选填 待发送给服务器的数据,格式{key:value,key1,value1}
或者 key=value&key1=value1 都可以
如果没有数据提交可以填写null,或者不填写
callback function 函数 选填 请求成功回调函数
我们可以通过此函数参数获得服务器响应数据
例如:function(resdata){ resdata即为服务器响应的数据 }
虽然是选填,但真正开发过程中99%都需要填写此函数
type string 字符串 选填 服务器返回数据格式,我们用得最多的是json格式,少量使用xml
真正开发过程中此参数99%都省略
在这里插入图片描述

3.14.3. $.ajax()方法(语法熟练掌握)

作用:既能发送Get请求,也可以发送post请求,比$.get()和&.post()更灵活,功能更加丰富

语法和参数

基本语法格式
$.ajax({
url:’ ‘, //请求URL地址
type:’ ', //请求方式 Get 或 Post
data:{ } , // 本次请求要携带的参数
success:function(resData){ } //请求成功后的回调函数
})
发送带参数的Get请求,典型特征:第二个参数传入了{属性名:属性值} 这样格式的一个对象

$.ajax({
url:‘http://127.0.0.1:3001/getHeroSkin’, // 请求api接口地址
type:‘GET’, // 表示发送get请求
data:{heroName:‘白起’}, // 表示查询英雄名称为“白起”的数据
success:function(resData){ // 请求成功的数据存放在resData中
console.log(resData);
}
})

案例1:

英雄名称: <input class="name" type="text " placeholder="请输入英雄"> 皮肤名称: <input class="skin" type="text " placeholder="请输入皮肤">
<input class="submit" type="submit" value="提交">
<script src="./js/jquery-1.12.4.min.js"></script>
<script>
    //给按钮一个点击事件
    $('.submit').click(() => {
            //获取name输入框的内容
            const name = $('.name').val().trim()
                //获取skin输入框的内容
            const skin = $('.skin').val().trim()
                //判定name和skin是不是为空,如果是就return,弹出警告框
            if (name === '' || skin === '') return alert('请您输入英雄名称或者皮肤名称')
                //ajax的方式
            $.ajax({
                //获取地址,参数对象
                url: 'http://127.0.0.1:3001/addHeroSkin',
                //这个是提交的命令
                type: 'Post',

                //请求要携带的参数
                data: {
                    cname: name,
                    skin_name: skin


                },
                //请求成功后的回调函数
                success: (res) => {
                    //打印是否成功
                    console.log(res);
                    //判断添加的是否为200,为200就是添加成功
                    if (res.code === 200) {
                        alert('棒极了')
                            //输入成功后清空本来的输入框
                        $('.name,.skin').val('')
                    } else {
                        //如果不是200就弹出警告框
                        alert('你眼睛有问题')
                    }
                }
            })
        })

jQuery中的serialize()方法

为什么要使用serialize()方法
我们在使用 $.post()方法时,通常需要获取页面上用户输入的数据,例如:“添加英雄皮肤案例-练习Post请求” 时我们是通过定义一个heroData 对象,里边的cname和skin_name属性值都是通过jQuery去获取页面上文本框中的值,这种方式的弊端在于有时候我们做的业务比较复杂,页面中需要获取值的个数会相当多,这时如果还是一个个通过jQuery方法获取的话,我们写的代码就会相当复杂,如果使用jQuery中的serialize()方法配合form标签就能一次性自动获取到所有处在

中的带有name属性的元素值
利用serialize()方法获取form表单中带有name属性元素的值步骤
1、在html页面上将需要获取值所有元素设置一个name属性
举例: 文本框元素添加了一个 name="cname"的属性
2、将这些元素全部包裹到中,并且给form标签设置一个id属性,比如:form1
举例:
3、使用 KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲form元素id').seri…(’#form1’).serialize()获取到的结果字符串为:cname=baiqi&skin_name=gouzi
案例2:

< form id=“form”>

英雄名称: 皮肤名称:
< input class=“submit” type=“submit” value=“提交”>
< /form>
< script src="./js/jquery-1.12.4.min.js">< /script>
< script>
//给按钮做点击事件
$(’[type=“submit”]’).on(‘click’, (e) => {
//阻止点击提交按钮导致页面被刷新
e.preventDefault()
//序列化表单:快速获取表单数据
// const str = $(’#form’).serialize()
// console.log(str);
$.ajax({
type: ‘Post’,
url: ‘http://127.0.0.1:3001/addHeroSkin’,
data: $(’#form’).serialize(),
success: (res) => {
console.log(res)
},
})
})
< /script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值