jQuery AJAX — 篇二 $.get()和 $.post()

7 篇文章 0 订阅

  上篇博客中说到jQuery对Ajax操作进行了封装,我们可以很简单的应用AJAX,并且学习了jQuery AJAX $.load()方法,今天再来学习另外两个方法$.get()$.post()

GETPOST 

  在学习AJAX时我们就学过了GETPOST这两种请求方式,一个主要的区别是:

  GET方式,一般用于获取URL上的资源,主要是读取,可以被缓存;

  POST方式,一般用于更新资源,不会被缓存。

  我们可以找一个具体的例子来理解,我们在对这篇博客进行多次请求,返回的内容还是这篇博客,是不变的,我们理解为GET方式,如果我们在进行评论就理解为POST方式,大家可以体验一下这个“POST”。

 

  又一次比较了GETPOST,大家不要拍砖,其实每接触到一次再进行一次学习,这就是一个反复的过程。

 

  下面我们看$.get()$.post()的实例和说明

$.get()方法

我们接着上篇博客的例子再来用$.get()方法实现。

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">
        <scripttype="text/javascript" src="jquery.js"></script>
        <scripttype="text/javascript">
            $(document).ready(function(){
               $("#btn").click(function(){
                   var userName =document.getElementById("UserName").value;
            //$('#message').load("AJAX?name=" + userName);
 
                   //$.get()方法
                   $.get("AJAX?name=" + userName,function(data,status){
                        $("#message").html(data);
                        alert(status);
                    });                    
                });
              });
        </script>
    </head>
    <body>
        <input type="text"id="UserName" value="admin"/>
        <input type="button"id="btn" value="校验用户名"/>
        <br/>
        <divid="message"></div>
    </body>
</html>

通过实现代码,来看$.get()的使用说明

$.get()方法 :通过 HTTPGET 请求从服务器上请求数据。

    语法:$.get(url,[data],[callback],[type])

参数说明:

         url:请求的url地址

  data:发送至服务器的key/value数据会作为QueryString附加到请求URL中

  callback:载入成功时的回调函数

  type:服务器返回的内容的格式,包括xml html script json text default

  参数必须的是url,其它参数可选


回调函数:

function(data,status){

  $("#message").html(data);

}); 

data:请求返回的内容

status:请求的状态:success、error、notmodified、timeout

  

$.post()方法:通过 HTTP POST 请求从服务器上请求数据。

  语法:$.post(url,[data],[callback],[type])

  从语法上很容易看出,和$.get()方法使用一样。

 

$('#message').get()是否正确?

  上篇博客中是这样写的$('#message').load("AJAX?name="+ userName);开始在实现$.get()时我也这样写$('#message').get(),结果却不通过。这是为什么

  $.load()和$.get()在从服务器获取数据的方法上,几乎是一样的,不同的是$.load()它不是全局函数,并且拥有隐式的回调函数,当侦测到成功的响应时(比如,当 textStatus 为 "success" 或"notmodified" 时),.load() 将匹配元素的 HTML 内容设置为返回的数据。这意味着该方法的大多数使用会非常简单:

  $('#message').load("AJAX?name="+ userName);

 

服务端代码和XML完全和上篇博客例子一样,不再写。

 

未完结

  $.get()$.post()原理其实还是getpost请求的原理,只不过通过jQuery让我们的实现变得简单(这都得益于jQuery强大的功能)。jQuery AJAX方法了解和学习仍在继续,别走开,马上回来。现在好像很流行"马上"

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值