jQuery中的Ajax

17 篇文章 0 订阅
7 篇文章 0 订阅

jQuerh对Ajax操作进行了封装,在jQuery中最底层的方法是 .ajax().load(), .get()和 .post(). .getScript()和$.getjSon().

load()方法

load方法是jQuery中最为简单和常用的Ajax方法,能载入远程的HTML代码并插入到DOM中,它的结构是:load(url[,data][,callback])

参数名称类型说明
urlString请求HTML页面的URL地址
data(可选)Object发送到服务器的key/value数据
callback(可选)Function请求完成时的回调函数,无论请求成功或失败

程序员只需要使用jQuery选择器为HTML片段指定目标位置,然后将要加载的文件等url作为参数传递给load()方法即可。

html格式伪代码如下:

<h2><a href="mailto:15204510180@163.com">JBK</a></h2>
<a href="http://baidu.com/">http://baidu.com/</a>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    //记着联入一个jQuery文件插件
    <script type="text/javascript">
        $(function () {
            $("a").click(function(){
                var url=this.href+"h2 a";
                var args={"time": new Date()};
                //任何一个html节点都可以使用load方法来加载Ajax,结果将直接插入html节点中
                $("#details").load(url,args);
                return false;
            });

        })
    </script>
</head>
<body>
<a href="text1.html"></a>
<div id="details"></div>
</body>
</html>

load()方法的细节

  • 如果只需要加载目标HTML页面内的某些元素,则可以通过load()方法的URL参数来达到目的。通过URL参数指定选择符,就可以方便的从加载过来的HTML文档中选出所需要的内容。load()方法等URL参数的语法结构为“urlselector”(注意:url和选择器之间有一个空格)
  • 传递方式:load()方法等传递参数根据参数data来自动拟定。如果没有参数传递,采用GET方式传递,否则采用POST方式
  • 对于必须在加载完成才能继续等操作,load()方法提供了回调函数,该函数有三个参数:代表请求返回内容等data;代表请求状态等textStatus对象和XMLHttpRequest对象
    xml格式 伪代码展示:

.get() .post())方法

  • .get()GET .get(url[,data][,callback][,type]);
Are参数名称类型说明
urlString请求HTML页面的URL地址
data(可选发送到服务器端key/value数据会作为QueryString附加到请求URL中
callback(可选)Function载入成功时回调函数(只有当Response端返回状态是success时才调用该方法)自动将请求结果和状态传递给该方法
type(可选)String服务器返回内容的格式。包括xml html script json text 和_default

- .get()dataXMLJSONHTMLtextstatussuccess,error,notmodify,timeout4 .get()和$post()方法是jQuery中的全局函数,而find()等方法都是对jQuery对象进行操作的方法。

<?xml version="1.0" encoding="utf-8" ?>
<details>
    <name>JBK</name>
    <website>http://baidu.com/</website>
    <email>15204510180@163.com</email>
</details>


<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    //记着联入一个jQuery文件插件
    <script>
        $(function(){
            $("a").click(function () {
                var url=this.href;
                var args= {"time":new Date()};
                $.get(url,args,function(data){
                    var name=$(data).find("name").text();
                    var website=$(data).find("website").text();
                    var email=$(data).find("email").text();
                    $("#details".empty().append("<h2><a href='mailto:"+email+"'>"+name+"</a></h2>").append("<a href='"+website+"'>"+website+"</a>"));

                });
                return false;

            })
        })


    </script>
</head>
<body>
<a href="test.xml">1</a>
<a href="test.xml">2</a>
<a href="test.xml">3</a>
<a href="test.xml">4</a>
<div id="details"></div>

</body>
</html>

如果是POST请求,只需把get函数改成post即可。

Json格式伪代码如下:

{
    "person": {
    "name": "JBK",
        "website": "http://baidu.com/",
        "email": "15204510180@163.com"
}
}
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    //记着联入一个jQuery文件插件
    <script>
        $(function(){
            $("a").click(function () {
                var url=this.href;
                var args= {"time":new Date()};
                $.getJson(url,args,function(data){
                    var name=data.person.name;
                    var website=data.person.website;
                    var email=data.person.email;
                    $("#details".empty().append("<h2><a href='mailto:"+email+"'>"+name+"</a></h2>").append("<a href='"+website+"'>"+website+"</a>"));

                });
                return false;

            })
        })


    </script>
</head>
<body>
<a href="json.js">1</a>
<a href="json.js">2</a>
<a href="json.js">3</a>
<a href="json.js">4</a>
<div id="details"></div>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值