Ajax 是一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术,它与同步以及异步两种方式,那ajax同步和异步的区别是什么?下面来我们就来给大家讲解一下。
1.同步与异步的概念区别:
同步是指:发送方发出数据后,等接收方发回响应之后才发下一个数据包的通信方式,是一种单线程的请求方式。
用户填写全部信息后,提交给服务器,等待服务器的回应(检验数据),是一次性的。信息错误又要从新填写。
异步是指:把事件添加到队列中,不断循环队列,哪一个准备好了就执行哪一个。
把发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通信方式。
当用户填写完一条信息后,该信息会自动向服务器提交,而后服务器响应客户端,在此过程当中,用户依然在填写表格的信息,即向服务器请求屡次,节省了用户的时间,提升了用户的体验。浏览器
2.同步请求/响应与异步请求:
在同步请求/响应通讯模型中,老是浏览器(与 Web 服务器、应用服务器或 Web 应用程序相对)发起请求(经过 Web 用户)。接着,Web 服务器、应用服务器或 Web 应用程序响应进入的请求。在处理同步请求/响应对期间,用户不能继续使用浏览器。
在异步请求/响应通讯模型中,浏览器(经过 Web 用户)到 Web 服务器、应用服务器或 Web 应用程序的通讯(以及反过来)是解耦的。在异步请求/响应对的处理中,Web 用户在当前异步请求被处理时还能够继续使用浏览器。一旦异步请求处理完成,异步响应就被通讯(从 Web 服务器、应用服务器或 Web 应用程序)回客户机页面。典型状况下,在这个过程当中,调用对 Web 用户没有影响;他们不须要等候响应。服务器
ajax请求方式有哪些?
在jQuery中,AJAX常见的请求方式主要有一下4种:
1、$.ajax()返回其创建的 XMLHttpRequest 对象
$.ajax() 只有一个参数:参数key/value对象,包含各配置及回调函数信息。
如果你指定了dataType选项,那么需要保证服务器返回正确的MIME信息,(如 xml 返回 "text/xml")。
实例:
保存数据到服务器,成功时显示信息。
$.ajax( { type: "post" , dataType: "html" , url: '/Resources/GetList.ashx' , data: dataurl , success: function (data) { if (data != "") { $("#pager") .pager( { pagenumber: pagenumber , pagecount: data.split("$")[1] , buttonClickCallback: PageClick }); $("#anhtml") .html(data.split("$")[0]); } } });
2、通过远程 HTTP GET 请求载入信息
相比于复杂的$.ajax而言,GET请求功能则显得更加简单,请求成功时可调用回调函数。当然如果需要在出错时执行函数,那么还请使用$.ajax。
实例:
$.get("test.cgi" , { name: "John" , time: "2pm" } , function (data) { alert("Data Loaded: " + data); });
3、通过远程 HTTP POST 请求载入信息
POST请求功能也相对比较简单,请求成功时可调用回调函数。如果需要在出错时执行函数,那么请使用$.ajax请求。
实例:
$.post("/Resources/addfriend.ashx" , { "fid": fids , "fname": fnames , "tuid": tuids , "tuname": tunames }, function (data) { if (data == "ok") { alert("添加成功!"); } })
4、通过 HTTP GET 请求载入 JSON 数据
实例:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?" , function (data) { $.each(data.items, function (i, item) { $("") .attr("src", item.media.m) .appendTo("#images"); if (i == 3) return false; }); });
以上4种方式就是常用的Ajax请求方式,AJAX 可以用于创建快速动态的网页,可以使网页实现异步更新。所以对于AJAX 的使用我们还是有必要熟悉的。最后大家如果想要了解更多其他工具教程知识,敬请关注奇Q工具网。
推荐阅读: