这里的callback和error是具体的还是抽象的呢?

这里的callback和error是具体的还是抽象的呢?

xhr.onreadystatechange = function () {

            if (xhr.readyState === 4) {

                if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {

                    callback && callback(JSON.parse(xhr.responseText));

                } else {

                    error && error();

                }

            }

        }

老师写的时候是在下面写了一个ajax的字面量对象,里面写了一个success和error函数,但是最后又删掉了。

所以这里并没有具体的写这两个函数的内部执行代码,那它们是类似形参一样的抽象函数呢还是确实具体的存在这样的函数呢?如果是抽象的代表的话,那执行的时候怎么确定具体要执行哪个函数呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,理解的是正确的,options是调用ajax时,传递的参数,ajax中的callback,对应的就是success函数

http://img1.sycdn.imooc.com//climg/5e814e82095438a514690562.jpg

对函数进行了操作,如下:

http://img1.sycdn.imooc.com//climg/5e814ec409bd739811880383.jpg

同学可以根据视频中老师讲解的,再理一下思路哦。祝学习愉快~

好帮手慕言 2020-03-29 17:02:28

同学你好,老师是在ajax.js中删掉了,但是在html中使用了,如下:

http://img1.sycdn.imooc.com//climg/5e8062e00923ec2014680908.jpg

老师在封装ajax时,如果成功获取到数据,就把数据作为callback的参数,那么在调用ajax的时候,在success函数中,就可以拿到数据。老师在后面的课程中会有讲解,同学可以继续往下学习。

http://img1.sycdn.imooc.com//climg/5e8063740906116d11930358.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 Aurora_Meteor #1
    【如果成功获取到数据,就把数据作为callback的参数,那么在调用ajax的时候,在success函数中,就可以拿到数据】,【 callback && callback(JSON.parse(xhr.responseText));】不是调用的是callback么,为什么是success函数可以拿到数据了呢?这意思是callback指代的就是success函数? 老师在HTML里面写的是 $.ajax({ url: "http://localhost/demo/register/server/register.php", method: "post", data: { username:user_val, userpwd:pwd_val, }, success:function(data){ alert("注册成功,请登录!"); user.value=""; pwd.value=""; }, error:function(){ pwdInfo.innerHTML="注册失败,请重试!"; } }) 这里面的函数只有success和error呀,而在ajax.js中那部分写的是callback和error,所以除非callback就是success,不然的话为什么成功获取到数据后,是在success函数中拿到数据而不是在error函数中拿到数据呢?也没有在哪里具体的声明callback函数和规定这个函数内部执行什么操作啊?
    2020-03-29 19:25:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师