ajax的调用相关知识
-
谈谈JavaScript异步代码优化前言在实际编码中,我们经常会遇到Javascript代码异步执行的场景,比如ajax的调用、定时器的使用等,在这样的场景下也经常会出现这样那样匪夷所思的bug或者糟糕的代码片段,那么处理好你的Javascript异步代码成为了异步编程至关重要的前提。下面我们从问题出发,一步步完善你的异步代码。异步问题1. 回调地狱首先,我们来看下异步编程中最常见的一种问题,便是回调地狱。它的出现是由于异步代码执行时间的不确定性及代码间的依赖关系引发的,比如:// 一个动画结束后,执行下一个动画,下一个动画结束后再执行下一个动画$('#box').animate({width: '100px'}, 1000, function(){ $('#box').animate({height: '100px'}, 1000, function(){ &n
-
谈谈JavaScript异步代码优化前言在实际编码中,我们经常会遇到Javascript代码异步执行的场景,比如ajax的调用、定时器的使用等,在这样的场景下也经常会出现这样那样匪夷所思的bug或者糟糕的代码片段,那么处理好你的Javascript异步代码成为了异步编程至关重要的前提。下面我们从问题出发,一步步完善你的异步代码。异步问题1. 回调地狱首先,我们来看下异步编程中最常见的一种问题,便是回调地狱。它的出现是由于异步代码执行时间的不确定性及代码间的依赖关系引发的,比如:// 一个动画结束后,执行下一个动画,下一个动画结束后再执行下一个动画$('#box').animate({width: '100px'}, 1000, function(){ $('#box').animate({height: '100px'}, 1000, function(){ &n
-
JQuery-Ajax的应用今天终于看到了最令我兴奋的一章:JQuery与Ajax的应用。AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,是指一种创建交互式应用的网页开发技术。在最初学习Ajax的日子里,我被ASP.NET AJAX框架提供的UpdatePanel迷惑了,以后Ajax就这么简单,所以在最初做的几个项目里,前台代码里必至少有一个UpdatePanel区域,把要局部刷新的内容全放到这个Panel里面,殊不知一个UpdatePanel只适合于局域网的内部信息系统,不适合在前台互联网中使用,这样效率很低。 于是,我带着好奇的心情观看了itcast杨中科老师的2010版视频第13季Ajax,明白了应该是从XMLHttpRequest对象开始学起,它是Ajax的核心内容,也是实现的关键-发送异步请求、接收响应以及执行回调都是通过它来完成的。Ajax最大的优势就在于:1.不需要插件的支持
-
jQuery中的AjaxjQuery中的Ajax ajax()方法 ajax()方法是功能最强大最齐全的请求服务器数据的方法 ajax()能够获取服务器返回的数据 ajax()能够向服务器发送并传递数值 调用的格式:jQuery.ajax([settings])或$.ajax([settings]) 参数[settings]为发送ajax()请求时的各项参数的配置信息,键值对的形式写入 以下是settings的所有可选
ajax的调用相关课程
ajax的调用相关教程
- 6.1 配置 ajax function ajaxError(){ alert('ajax error');}function ajaxSuccess(result){ if (result.error) { alert('操作失败'); return; } location.reload();}在 RESTful 架构中,客户端使用 ajax 技术请求服务端的服务。当 ajax 请求失败时,调用 ajaxError,提示用户 ajax 请求服务失败;当 ajax 请求成功时,调用 ajaxSuccess,提示用户 ajax 请求服务成功。在网站的首页展示所有的联系人,当新增、修改、删除联系人后,需要刷新首页面,因此,在第 12 行,当 ajax 调用服务成功后,需要 location.reload() 刷新页面,从服务端重新加载所有的联系人。
- 3.1 配置 Ajax function ajaxError(){ alert('ajax error');}function ajaxSuccess(result){ if (result.error) { alert('操作失败'); return; } location.reload();}客户端使用 ajax 技术请求服务端的服务。当 ajax 请求失败时,调用 ajaxError,提示用户 ajax 请求服务失败;当 ajax 请求成功时,调用 ajaxSuccess,提示用户 ajax 请求服务成功。
- 2. 创建 Ajax 有了 xhr ,我们当然希望 Ajax 能够提供一些默认配置。这里的 Ajax 函数不做太过复杂的功能,但我们会简单模拟支持默认 config。事实上,最后在 Ajax 中,内部调用的就是 xhr 函数。类似这个样子:function Ajax(config) { // code ... return xhr(config);}
- 3. 封装 ajax 请求 ajax 是前端用于发送接口请求的技术,它是异步的,需要等待结果返回后执行在发送 ajax 请求时,我们可能会这样去写。ajax({ url: '', method: '', data: {}, params: {}, success: function (res) {}, error: function (err) {}})url: 接口请求地址;method: 接口请求方法,如:get、post 等;data: 请求时使用 body 传输的数据,一般用于 post 请求中;params: 请求时使用 url 传递的数据,一般用于 get 请求中;success: 接口请求成功时的回调,参数为接口成功的返回值;error: 接口请求失败时的回调,参数为抛出异常时的调用栈等信息。XMLHttpRequest 是浏览器提供的对象,用于进行后台与服务端的数据进行交互
- 3. Ajax 的由来 Ajax 最早要追溯到 2005 年,由 Jesse James Garrett 首先提出。当时 Jesse James Garrett 在他的 “Ajax : new Approach to Web Applications” 一文中提出了综合了 Html , JavaScript , XHTML , Cascading Style Sheets , The Document Object Model , XMLHttpRequest , XML 和 XSTL 等现有技术的新方法,取名为 Ajax 。并且使用这种技术以后,前后端就可以不需要重载页面就能够直接进行交互,能够迅速的把信息反映在用户界面上。虽然 Ajax 中,X 是 XML 的意思,但是前后端交互中,JSON 尤其重要,同时也拥有更多的好处(比如:更轻量)。因此,在 Ajax 中,JSON 和 XML 一样,共同用于信息传输的打包载体中。
- 4.$.ajax 和 deferred 在 jQuery 中,通常都会有一些耗时比较长的操作,我们是无法马上得到结果的。对于 $.ajax 而言,我们的请求往往都要依靠网络传输和服务端的处理。这时我们的一贯处理方式就是给定某个回调函数,当耗时操作结束返回数据以后,及时调用这个回调函数来进行进一步的处理。在 jQuery 1.5 版本之后就改变了这一点,deffered 在 jQuery 中诞生了!字面来看,defer 代表的是“延迟”的意思,这也对应着我们的延时操作。使用 deffered ,我们将改变使用回调函数的做法,转而使用的是链式调用。这其实也正是拥抱了 jQuery 的设计思想,使用过 jQuery 的同学都知道,jQuery 对节点的操作往往都会封装为一个 jQuery 的对象进行统一管理,而 deffered 也正是如此,会对延时操作做一个统一的管理,并且提供统一的编程接口,比如 done 和 fail。举个栗子,我们使用 $.ajax 来进行数据的请求,可以变体为:$.ajax({ url: '/jquery_ajax/get', method: 'GET', data: { a: '123', b: '234' }}).done(data => { console.log(data)}).fail(err => { console.log(err)})事实上在 deffered 出来之后,$.ajax 也开始返回一个 deffered 对象。细心的同学可以看到,这不是一个 promise 么?是的,可以这样说,但是也不尽然,jQuery 根据自己的需要实现了这样一个东西,它支持 promise 的一些规范,同时也支持自己的特权方法。我们在使用 deffered 的时候,很直观的可以看到,我们从回调函数的传统方式中解脱了出来。除此之外,由于 Promise 的反控制反转,使得我们的程序变得更加健壮,我们对结果操作更有掌控权。
ajax的调用相关搜索
-
ajax
android
a href
abap
abap开发
abort
absolutelayout
abstractmethoderror
abstracttablemodel
accept
access
access教程
accordion
accumulate
acess
action
actionform
actionlistener
activity
addeventlistener