欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ajax提交

程序员文章站 2022-07-12 20:15:50
...
开发工具与关键技术: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请求。
Ajax提交
将数据提交到服务器之后,服务器就会把这些数据进行处理(新增、修改、删除),处理后会有返回值。然后就使用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时,表示响应已就绪:
Ajax提交
以上是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对象。
Ajax提交
与JavaScript的异步提交一样,提交的方式为get和post(它两个的提交格式是一样的)。jQuery如果用了这两个提交方式那么就不再需要指定返回类型。
如有错误请在评论区评论!我会及时更改的!