Ajax提交
开发工具与关键技术:VS MVC
作者:冉冉
撰写时间:2019年05月23日
传统的网页(不使用Ajax)如果要更新内容,必须重新加载整个网页面;而Ajax是一种无需重新加载整个页面的情况下,能够更新部分页面。它的全称为Asynchronous JavaScript and XML(异步的JavaScript和XML)。
同步与异步:
同步就是指一个进程在执行的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。
异步是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理。
所以这将这两个对比,异步的运行效率比同步的运行效率高。
异步是运用HTML与CSS来实现页面和表达信息的;运用XMLHttpRequest对象(用于在后台与服务器交换数据创建对象)和web服务器进行数据的异步交换;同时运用JavaScript操作DOM元素来实现动态局部刷新。在向服务器发送请求时,会使用XMLHttpRequest对象的open和send方法。
Open(method,URL,async)方法规定了请求的类型(get和post)、URL(文件在服务器上的位置)、以及提交是否确认是异步处理的请求(true或false)。Send(string)方法是将请求发送到服务器;string仅用于post请求。
将数据提交到服务器之后,服务器就会把这些数据进行处理(新增、修改、删除),处理后会有返回值。然后就使用XMLHttpRequest 对象的 responseText 或 responseXML属性来获取到来自服务器的响应。
responseText:获得字符串形式的响应数据;
responseXML:获取XML形式的响应数据。
另外,XMLHttpRequest还有三个重要的属性:
readyState、Status、Onreadystatechange
readyState :存有XMLHttpRequest的状态信息。从0到4发生变化。
0到4代表着:
0:请求未初始化;1:服务器连接已建立;2:请求已接收;3:请求处理中;4:请求已完成,且相应已就绪。
status:200:“OK”;404:未找到页面。500:服务器错误。
Onreadystatechange:是存储函数(或函数名)也是事件。当它是函数的时候,在readyState属性改变时就会调用该函数;当它是事件的时候,在readyState发生改变时,就会触发Onreadystatechange事件。在这个事件中,规定服务器相应已做好被处理的准备时所执行的任务。
当readyState等于4且status为200时,表示响应已就绪:
以上是JavaScript的异步提交,下面是jQuery的Ajax异步提交(也就是用jQuery实现Ajax)。
jQuery的Ajax异步提交的属性和方法:
type:类型,“POST"或"GET”,默认值为"GET";
url:发送请求的地址;
async:设置异步,(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,那么请将此选项设置为 false。注意:同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
Data:是一个对象,连同请求发送到服务器的数据。
dataType:是预期服务器返回的数据类型。如果前面不指定类型,那么jQuery将自动根据http包MIME信息来进行智能判断。一般我们采用json格式,可以设置为"json"。
success:是一个方法,请求成功后的回调函数,传入返回后的数据,以及包含成功代码的字符串。
error:是一个方法,请求失败是调用此函数,传入XMLHttpRequest对象。
与JavaScript的异步提交一样,提交的方式为get和post(它两个的提交格式是一样的)。jQuery如果用了这两个提交方式那么就不再需要指定返回类型。
如有错误请在评论区评论!我会及时更改的!
上一篇: 安装多版本的xcode中,cocoapods安装出现的问题
下一篇: svn强制注释配置