ajax同步和异步的区别是什么?ajax请求方式有哪些?

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工具网。

推荐阅读:

java认证证书费用是多少?Java认证书有用吗?

java异常分为哪两类?Java异常区别介绍

java编程用什么软件?Java常见编程软件