首页
学习
活动
专区
圈层
工具
发布

33·灵魂前端工程师养成-异步与promise

你写给自己用的函数,不是回调 # 你写给别人用的函数,就是回调 # request.onreadystatechange就是我写给浏览器调用的 # 意思就是,你(浏览器)回头调用一下这个函数。...# 可以让JS写留一个函数地址(电话号码)给浏览器 # 异步任务完成时,浏览器调用该含税地址即可(拨打电话) # 同时把 结果作为参数传给该函数(电话说,可以来吃饭了) # 这个函数是我写给浏览器调用的...# 但回调函数不一定只用在异步任务里 # 回调可以用到同步任务里 # array.forEach(n=>console.log(n))就是同步回调 ---- 如何判断一个函数时异步还是同步 如果一个函数的返回值处于下面几种情况...网上吐槽回调地狱的图片【HaDoGen】  如何解决上述的三个问题呢?...花时间把ajax写到完美(有时间可以做) 使用JQuery.ajax(这个可以) 使用axios(这个库比JQuery逼格高) ---- JQuery.ajax 已经非常完美,进入JQuery文档

1.2K30

axios面试题总结

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。...基于 promise 的异步 ajax 请求库,支持promise所有的API 2. 浏览器端/node 端都可以使用,浏览器中创建XMLHttpRequests 3. 支持请求/响应拦截器 4....安全性更高,客户端支持防御 XSRF,就是让你的每个请求都带一个从cookie中拿到的key, 根据浏览器同源策略,假冒的网站是拿不到你cookie中得key的,这样,后台就可以轻松辨别出这个请求是否是用户在假冒网站上的误导输入...axios在浏览器端使用XMLHttpRequest对象发送ajax请求;在node环境使用http对象发送ajax请求。...JQuery整个项目太大,单纯使用ajax却要引入整个JQuery非常的不合理(采取个性化打包的方案又不能享受CDN服务) 不符合关注分离(Separation of Concerns)的原则 配置和调用方式非常混乱

94720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django之json、Ajax简介及实例介绍

    AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程) js实现的局部刷新: 浏览器会使用AJAX技术向服务器发送一个请求,查询包含“传”字的前10个关键字,然后服务器会把查询到的结果响应给浏览器,最后浏览器把这4个关键字显示在下拉列表中。...整个过程中页面没有刷新,只是局部刷新了; 在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作; AJAX的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求;...AJAX无须刷新整个页面; 因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高; jquery实现的ajax {% load staticfiles %} 浏览器会在控制台中报一个异常,提示拒绝访问。

    7.7K20

    JS实现的ajax和同源策略

    一、jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求; AJAX无须刷新整个页面; 因为服务器响应内容不再是整个页面,而是页面中的局部...,所以AJAX性能高; jquery 实现的ajax 1 ajax会根据服务器返回的content Type来进行转换; 比如我们的服务器响应的content Type为json格式,这时ajax方法就会对响应的内容...如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。 jsonp(jsonpadding) 之前发ajax的时候都是在自己给自己的当前的项目下发 现在我们来实现跨域发。...,jsonpCallback是前端定义好的回调函数方法名'SayHi',server端接受callback键对应值后就可以在其中填充数据打包返回了; jsonpCallback参数可以不定义,jquery

    3K20

    Django跨域(前端跨域)

    前情回顾 在说今天的问题之前先来回顾一下有关Ajax的相关内容 Ajax的优缺点 AJAX使用Javascript技术向服务器发送异步请求; AJAX无须刷新整个页面; 因为服务器响应内容不再是整个页面...,而是页面中的局部,所以AJAX性能高; jQuery实现的ajax index.html Views.py ajax参数 请求参数 ######################------...默认不需要显性指定这个属性,ajax会根据服务器返回的content Type来进行转换; 比如我们的服务器响应的content Type为json格式,这时ajax方法就会对响应的内容...如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。 jsonp(jsonpadding) 之前发ajax的时候都是在自己给自己的当前的项目下发 现在我们来实现跨域发。...,jsonpCallback是前端定义好的回调函数方法名’SayHi’,server端接受callback键对应值后就可以在其中填充数据打包返回了; jsonpCallback参数可以不定义,jquery

    9K30

    Ajax,jQuery ajax,axios和fetch介绍、区别以及优缺点

    jQuery ajax - ajax() 方法 「Axios」 axios不是原生JS的,需要进行安装,它不但可以在客户端使用,也可以在nodejs端使用。Axios也可以在请求和响应阶段进行拦截。...,就会出现回调地狱。...这个选项也会影响 data 选项中的内容如何发送到服务器。...Axios本质上也是对原生XHR的封装,只不过它是Promise的实现版本,可以用在浏览器和 node.js 中,符合最新的ES规范,从它的官网上可以看到它有以下几条特性: 从浏览器中创建 XMLHttpRequests...客户端支持防御 XSRF,是怎么做到的呢,就是让你的每个请求都带一个从cookie中拿到的key, 根据浏览器同源策略,假冒的网站是拿不到你cookie中得key的,这样,后台就可以轻松辨别出这个请求是否是用户在假冒网站上的误导输入

    3.1K62

    Spring国际认证指南|了解如何使用 jQuery 检索网页数据。

    原标题:Spring国际认证指南|了解如何使用 jQuery 检索网页数据。 本指南将引导您编写一个使用基于 Spring MVC 的RESTful Web 服务的简单 jQuery 客户端。...你将建造什么 您将构建一个使用基于 Spring 的 RESTful Web 服务的 jQuery 客户端。具体来说,客户端将使用在使用 CORS 构建 RESTful Web 服务中创建的服务。...该服务将以JSON表示的问候进行响应: {"id":1,"content":"Hello, World!"}...你需要什么 约15分钟 最喜欢的文本编辑器 现代网络浏览器 互联网连接 创建一个 jQuery 控制器 首先,您将创建将使用 REST 服务的 jQuery 控制器模块: public/hello.js...data 创建应用程序页面 现在您有了一个 jQuery 控制器,您将创建 HTML 页面,将客户端加载到用户的 Web 浏览器中: public/index.html <!

    2.7K40

    Django---Ajax

    AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程) js实现的局部刷新: 浏览器会使用AJAX技术向服务器发送一个请求,查询包含“传”字的前10个关键字,然后服务器会把查询到的结果响应给浏览器,最后浏览器把这4个关键字显示在下拉列表中。...整个过程中页面没有刷新,只是局部刷新了; 在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作; AJAX的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求; AJAX...无须刷新整个页面; 因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高; jquery实现的ajax **************************************...如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。

    5.7K101

    jQuery ajax - ajax() 方法jQuery ajax - ajax() 方法

    也就是说,让回调函数内 this 指向这个对象(如果不设定这个参数,那么 this 就指向调用本次 AJAX 请求时传递的 options 参数)。...设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。...这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。...发送数据到服务器 默认情况下,Ajax 请求使用 GET 方法。如果要使用 POST 方法,可以设定 type 参数值。这个选项也会影响 data 选项中的内容如何发送到服务器。...高级选项 global 选项用于阻止响应注册的回调函数,比如 .ajaxSend,或者 ajaxError,以及类似的方法。

    16.9K30

    jquery中ajax参数详解

    也就是说,让回调函数内 this 指向这个对象(如果不设定这个参数,那么 this 就指向调用本次 AJAX 请求时传递的 options 参数)。...设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。...这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。...发送数据到服务器 默认情况下,Ajax 请求使用 GET 方法。如果要使用 POST 方法,可以设定 type 参数值。这个选项也会影响 data 选项中的内容如何发送到服务器。...高级选项 global 选项用于阻止响应注册的回调函数,比如 .ajaxSend,或者 ajaxError,以及类似的方法。

    3.1K30

    jQuery - Ajax详解分析(二)

    设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。...在 jQuery 1.4 中,它也会检查服务器指定的 'etag' 来确定数据没有被修改过。 jsonp 类型:String 在一个 jsonp 请求中重写回调函数的名字。...jsonpCallback 类型:String 为 jsonp 请求指定一个回调函数名。这个值将用来取代 jQuery 自动生成的随机函数名。...这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。...success 类型:Function 请求成功后的回调函数。 参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。 这是一个 Ajax 事件。

    65200

    异步编程Ajax的详解,并对其进行封装整理

    Ajax开始讲起,然后最后会尽可能得模仿JQuery对其进行封装,让我刚才提到的两类人能对Ajax有进一步的了解。...,以及如何进行不同源间的相互访问 了解过同源策略以后,我们来看看如何让Ajax不受同源策略的限制而成功发送请求。...现在的大部分浏览器几乎都支持了在发送Ajax请求后,自动向请求头部添加当前的源信息 六、结束语 建议你们好好了解JS的Ajax的使用,这样在面试中问起来你还能说出个一二三,并且有时候面试官还会直接让你亲手写一个简单的...Ajax请求呢,而不会让你使用JQuery的。...看了本文,想必面试官如果让你当场封装一个类似JQuery的Ajax请求,你也不会手足无措呢

    2.2K20

    高级前端:详解手写原生Ajax的实现

    Ajax开始讲起,然后最后会尽可能得模仿JQuery对其进行封装,让我刚才提到的两类人能对Ajax有进一步的了解。...,以及如何进行不同源间的相互访问 了解过同源策略以后,我们来看看如何让Ajax不受同源策略的限制而成功发送请求。...现在的大部分浏览器几乎都支持了在发送Ajax请求后,自动向请求头部添加当前的源信息 六、结束语 建议你们好好了解JS的Ajax的使用,这样在面试中问起来你还能说出个一二三,并且有时候面试官还会直接让你亲手写一个简单的...Ajax请求呢,而不会让你使用JQuery的。...看了本文,想必面试官如果让你当场封装一个类似JQuery的Ajax请求,你也不会手足无措呢

    2.2K20

    一个小时学会jQuery

    2.2、jQuery对象 jQuery对象就是通过jQuery包装DOM对象后产生的对象叫jQuery对象。 jQuery对象是对DOM元素封装过后的数组,也称为包装集。...5.4、高级选项 global选项用于阻止响应注册的回调函数,比如.ajaxSend,或者ajaxError,以及类似的方法。...:正则表达式}"配对的对象,用来确定jQuery将如何解析响应,给定其内容类型。...也就是说,让回调函数内this指向这个对象(如果不设定这个参数,那么this就指向调用本次AJAX请求时传递的options参数)。...这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。

    22.4K71

    AJAX使用说明书

    AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程) AJAX优点 AJAX使用JavaScript技术向服务器发送异步请求; AJAX请求无须刷新整个页面...---- 其实这两个例子就使用了AJAX技术!当文件框发生了输入变化时,使用AJAX技术向服务器发送一个请求,然后服务器会把查询到的结果响应给浏览器,最后再把后端返回的结果展示出来。...当请求发出后,浏览器还可以进行其他操作,无需等待服务器的响应! 简单的AJAX示例 下面的例子是做一个简陋的加法计算器,用户输入两个数字,然后点计算后,将值显示出来,并且页面不刷新。...,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。   text:返回纯文本字符串。...表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart和ajaxStop可用于控制各种ajax事件。

    3.4K70

    axios + ajax 面试题总结

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。...JQuery整个项目太大,单纯使用ajax却要引入整个JQuery非常的不合理(采取个性化打包的方案又不能享受CDN服务) 不符合关注分离(Separation of Concerns)的原则 配置和调用方式非常混乱...AJAX异步请求原理 浏览器把请求交给代理对象—XMLHttpRequest(绝大多数浏览器都内置了这个对象),由代理对象向服务器发起请求,接收、解析服务器响应的数据,并把数据更新到浏览器指定的控件上。...在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容。...在Ajax应用中信息是如何在浏览器和服务器之间传递的 通过XML数据或者字符串 在浏览器端如何得到服务器端响应的XML数据。

    2.9K30

    初学者必看Ajax的总结

    异步通信,更加快的响应能力。 减少冗余请求,减轻了服务器负担 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序 缺点: ajax 干掉了 back 按钮,即对浏览器后退机制的破坏。...原生创建 ajax 可分为以下四步 1、创建 XMLHttpRequest 对象 Ajax 的核心是 XMLHttpRequest 对象,它是 Ajax 实现的关键,发送异步请求、接受响应以及执行回调都是通过它来完成...从而解决了跨域的数据请求 如何使用 JSONP?...三、 jQuery 中的 Ajax jQuery 中的 ajax 封装案例 //ajax 请求后台数据 var btn = document.getElementsByTagName("input")...AjaxStart 或 AjaxStop 可用于控制各种 Ajax 事件 总结 以上就是本文的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以评论交流。

    3.7K40

    跨域的五种最常见解决方案

    浏览器有一种策略名为同源策略,同源策略规定了部分请求不能被浏览器所接受。值得一提的是:同源策略导致的跨域是浏览器单方面拒绝响应数据,服务器端是处理完毕并做出了响应的。...而同源策略规定,只有发送请求的那一边和接受请求的那一边处于同源的情况下,浏览器才会接受响应。...往往会出现以下错误解决跨域常见的5种方法第一种:JQuery的ajax(推荐JQuery项目中使用)jq的ajax自带解决跨域的方法。底层原理采用的JSONP的跨域解决方案。...即可完成跨域第四种:服务端代理(Nginx代理)nginx代理一般使用在生产环境。是服务端解决跨域的一种方案。...总结跨域的常见的五种解决方案如下jsonp,代表:jquery的$.ajax。

    1.2K10
    领券