Ajax
客户端和服务端
服务器:上网过程中,负责存放和对外提供资源的电脑,叫做服务器
客户端:上网过程中负责获取和消费资源的电脑,叫做客户端
URL
地址的概念
URL中文叫统一资源定位符,用于标识互联网上的每个资源的唯一存放位置。浏览器只有通过URL地址,才能正确定位资源的存放位置,从而正确的访问到对应的资源
地址的组成部分
URL地址一般由三部分组成:
- 客户端与服务器之间的通信协议(协议)
- 存有该资源的服务器名称(域名)
- 资源在服务器上具体的存放位置(路径)
了解Ajax
什么是Ajax
Ajax的全程是异步 Javascript 和 XML
通俗的理解是:在网页中利用XMLHttpRequest对象和服务进行数据交互的方式就是Ajax
为什么要学Ajax
之前所学的技术,只能把网页做得更美观。但是Ajax能让我们轻松实现网页与服务器之间的数据交互
Ajax的典型应用场景
- 数据分页显示:当点击页码值的时候,通过ajax的形式,根据页码值动态刷新表格的数据
- 数据的增删改查:数据的添加、删除、修改、查询操作,都需要通过ajax的形式,来实现数据的交互
JQuery中的Ajax
了解JQuery中的Ajax
浏览器中提供的XMLHttpRequest用法比较复杂,所以jQuery对XMLHttpRequest进行了封装,提供了一系列Ajax相关的函数,极大地降低了Ajax的使用难度
jQuery中发送Ajax请求最常用的三个方法如下:
- $.get()
- $.post()
- $.ajax()
$.get()函数的语法
jQuery中此函数功能单一,专门用来发起get请求,从而将服务器上的资源请求到客户端来使用。
语法:$.get(url,{data},[callback])
- url:类型为字符串,必选项,指要请求的资源地址
- data:类型为对象,非必选项,指请求资源期间要携带的参数
- callback:类型为函数,非必选项,指请求成功时的回调函数
$.post()函数的语法
jQuery中此函数功能单一,专门用来发起post请求,从而向服务器提交数据
语法:$.post(url,{data},[callback])
- url:类型为字符串,必选项,指要请求的资源地址
- data:类型为对象,非必选项,指请求资源期间要携带的参数
- callback:类型为函数,非必选项,指请求成功时的回调函数
$.ajax()函数的语法
相比于前两个函数,jQuery中提供的此函数,是一个功能比较综合的函数,它允许我们对Ajax请求进行更详细的配置
$.ajax()函数的基本语法如下:
$.ajax({
type:’ ‘, //请求的方式,如 GET or POST
url:’ ‘, //请求的URL地址
data:{ }, //这次请求要携带的数据
success:function(res){ } //请求成功之后的回调函数
})
接口
接口的概念
使用Ajax请求数据时,被请求的URL地址,就叫做数据接口,同时每个接口必须有请求方式
接口文档
接口文档的概念
接口文档,顾名思义就是接口的说明文档,它是我们调用接口的依据。好的接口文档包含了对接口URL,参数以及输出内容的说明,我们参照接口文档就能方便的知道接口的作用,以及接口如何进行调用
接口文档的组成部分
接口文档可以包含很多信息,一般包含一下内容
- 接口名称:用于标识各个接口的简单说明
- 接口URL:接口的调用地址
- 调用方式:接口的调用方式
- 参数格式:接口需要传递的参数
- 响应格式:接口的返回值的详细描述
- 返回示例:举个成功的例子
form表单
表单的概念
表单在网页中主要负责数据采集。HTML的form就是用于采集用户输入的信息,并通过form标签的提交操作,把采集到的信息提交到服务器端中进行处理。
表单的组成部分
- 表单标签
- 表单域
- 表单按钮
form标签的属性
action
- 值:URL地址
- 描述:规定当提交表单时,向何处发送表单数据
method
- 值:get或者post
- 描述:规定以何种方法把表单数据提交到action URL
target
- _blank:在新窗口中打开
- _self:默认,在相同的框架中打开
- _parent:在父框架集中打开
- _top:在整个窗口中打开
- framename:在指定框架中打开
enctype
- application/x-www-form-urlencoded:默认的编码方式。基于uri的percent-encoding编码的,表单里的数据被编码为名称/值对,但是在用文本的传输和MP3等大型文件的时候,使用这种编码就显得 效率低下
- multipart/form-data:指定传输数据为二进制类型,比如图片、mp3、文件。 这个一般文件上传时用。它告诉我们传输的数据要用到多媒体传输协议,由于多媒体传输的都是大量的数据,所以规定上传文件必须是post方法,type=”file”,浏览器会把整个表单以控件为单位分割。并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。
- text/plain:纯文体的传输。空格转换为 “+” 加号,但不对特殊字符编码。
表单的缺点
如果使用表单提交数据,则会导致页面之前的状态和数据丢失
解决方案是:表单只负责采集数据,Ajax负责将数据提交到服务器
快速获取表单中的数据
- serialize函数
模板引擎
基本概念
可以根据程序员指定的模板结构和数据,自动生成一个完整的HTML页面
好处
- 减少了字符串的拼接操作
- 使代码结构更加清晰
- 使代码更易于阅读和维护
art-template模板引擎
- 导入art-template
- 只要导入模板引擎,在window全局多一个函数,叫做template(‘模板的id’,需要渲染的数据对象)
- 定义数据
- 定义模板
- 例如script type=”text/html” 这样就可以在script里面写html且不报错
- 在双括号里面写你调用数据的名字
- 调用template函数
- 渲染HTML
- 再用你要放html的box渲染,element.html()即可
art-template标准语法
p30