jQuery异步请求Ajax应用$.load的使用

作者:简简单单 2014-07-12

jquery对ajax的封装了三层:

第一层:$.ajax,第二层:.load $.get,$.post,第三层:$.getScript,$.getJson

先来学习.load的使用:

格式:load(url [,data] [,callback]) 

word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-">  

  jQuery异步请求Ajax应用$.load的使用

最简单的get方式获取文本内容

 代码如下 复制代码

$('#ajax').click(function () {
    $('#box').load('ddd.html');//将ddd.html的内容加载到id=box的元素中去
});

$('#ajax').click(function () {
    $('#box').load('ddd.html .url');//将ddd.html中class=url的内容加载到id=box的元素中去
});


与服务器段脚本交互

 代码如下 复制代码

$('#ajax').click(function () {
    $('#box').load('test.php?url=aitiblog');//get方式提交到test的php文件
});

与服务器的复杂交互:

 代码如下 复制代码

$('#ajax').click(function () {
    $('#box').load('test.php', {url : 'www.111com.net'}, function (response, status, xhr) {//post方式提交到test的php文件
        console.log(response);//返回的数据
        console.log(status);//返回的状态 success和error
        console.log(xhr);
        //返回的xhr对象包括:
        // xhr.responseText=>相当于response,
        // xhr.responseXML=>返回的xml数据,
        // xhr.status=>返回的状态码200、400、401、404、500
        // xhr.statusText=>对状态码的解释
    });
});

在网上查到了一些说这个load函数有一个不好的地方是会生成缓存,这样当你的载入的文件有改动时,它不会即时的去显示


不过有三种方法:
 
1.如果是html文件的话 
 

 代码如下 复制代码
      
      
 

如果是php文件,则加入

 代码如下 复制代码

 

 
$.ajaxSetup ({ 
    cache: false //关闭AJAX相应的缓存 
}); 

3.改文件名,改成其它的文件名,这样会重新的去读!

 代码如下 复制代码

$('#ajax').click(function () {
    $('#box').load('ddd.html?'+Math.random());
}

这样我们利用了 Math.random()函数来给页面带参数,这样也不会有缓存这个问题了哦。

相关文章

精彩推荐