特神玄机网,www.070966.com,香港最快开奖现场直播,84384金多彩心水,99957彩霸王点来料准,444517.com,www.777713.com

前后端数据交互之Ajax原理及使用方法888310.com

  • 时间:2019-10-31 16:59  来源:未知   作者:admin   点击:

  马如龙六肖选一肖2019国际垂直登高大奖赛西安天安人寿。学习前端到一个阶段,必定会碰到一个不可避免的问题,即前端跟后端之间到底是怎么进行数据交互的?那么针对这个问题,我们来讨论一下以下三种方法:

  当你点击submit按钮时,浏览器会默认把你在input里面输入的数据,以post或get的方式提交到form表单中的action这个地址。相当于你提交表单时,就会向服务器发送一个请求,888310.com,然后服务器会接受并处理提交过来的form表单,最后返回一个新的网页。你可以结合以下代码来理解这段话。

  1、get提交数据:请求参数(一般为input里的值)拼装成url,相当于向服务器发url请求。

  2、单项提交,把数据提交给后台,但是不知道后台会给出怎样的响应,因为提交后页面就发生跳转了。比如:用户登录,那么就不知道到底是注册成功了还是失败了。

  3、浪费宽带。因为前后两个页面中的大部分HTML代码往往是相同的。但由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间,这就导致了用户界面的响应比本地应用慢的多。

  3、它依赖的是现有的CSS/HTML/Javascript,而其中最核心的依赖是浏览器提供的XMLHttpRequest对象。这个对象为向服务器发送请求和解析服务器响应提供了流畅的接口,使得浏览器可以发出HTTP请求与接收HTTP响应,实现在页面不刷新的情况下和服务端进行数据交互。

  为了便于我们理解怎么使用XMLHttpRequest对象实现在页面不刷新的情况下和服务端进行数据交互,我们先来看下下面的代码。

  这样就是一个使用XMLHttpRequest对象发送的Ajax请求了,现在我们来分析分析这段代码。

  首先,XMLHttpRequest构造函数通过new的方式构造一个XHR对象,并将这个对象赋值给xhr(可取任意名字)

  调用send方法之后请求被发往服务器,由于这次请求是同步的,JS代码会在xhr.send()这个步骤暂停掉,一直等到服务器根据请求生成响应(Response),传回给XHR对象,再继续执行。

  最后,在收到响应后相应数据会填充到XHR对象的属性。有四个相关属性会被填充:

  2、responseXML——从服务器进程返回的DOM兼容的文档数据对象。

  3、status——响应的HTTP状态。即从服务器返回的数字代码,如404(未找到)和200(已就绪)。

  4、statusText——HTTP状态的说明。伴随状态码的字符串信息。

  但多数情况下,我们还是要发送异步请求,才能让JavaScript继续执行而不必等待响应。为了更好的理解ajax发送异步请求,我们来看以下代码

  上述代码中,XHR对象的readyState属性,表示请求响应过程的当前活动阶段。该属性可取的值如下: