JQuery

1个成员

jQuery的AJAX之load()应用实例

发表于 2017-01-11 3247 次查看
在jquery ajax中有get,post,ajax及我们本文章要讲到的load,load可以直接加载页面与其它的有所区别,下面我来介绍ajax load用法实例。

调用load方法的完整格式是:load( url, [data], [callback] ),其中

url:是指要导入文件的地址。
data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。
 
一:如何使用data

 代码如下 复制代码

1.加载一个php文件,该php文件不含传递参数
$("#myID").load("test.php");

//在id为#myID的元素里导入test.php运行后的结果

2. 加载一个php文件,该php文件含有一个传递参数

$("#myID").load("test.php",{"name" : "Adam"});

//导入的php文件含有一个传递参数,类似于:test.php?name=Adam

3. 加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔

$("#myID").load("test.php",{"name" : "Adam" ,"site":"61dh.com"});

//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=61dh.com

4. 加载一个php文件,该php文件以数组作为传递参数

$("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]});

//导入的php文件含有一个数组传递参数。

注意:使用load,这些参数是以POST的方式传递的,因此在test.php里,不能用GET来获取参数。

二:如何使用callback

比如我们要在load方法得到服务器响应后,慢慢地显示加载的内容,就可以使用callback函数。代码如下:

 代码如下 复制代码

$("#go").click(function(){

  $("#myID").load("welcome.php", {"lname" : "Cai", "fname" : "Adam", function(){

    $("#myID").fadeIn('slow');}

  );

});


简单扼要的说就是ajax模拟了提交表单的行为,但是把刷新页面这件事交由js在后台偷偷完成了。

由此可见ajax其实是一个很容易理解的过程,下面用例子来说明。首先写一个html页面:

 代码如下 复制代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ajax test</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
jQuery(function($){
  $('button').click(function(){
    $name = $(this).attr('name');
    $('#out').empty().load('test1.php',{ name : $name });
  });
});
</script>
<style type="text/css"></style>
</head>
<body>
<button id="btn-1" name="1">1</button>
<button id="btn-2" name="2">2</button>
<button id="btn-3" name="3">3</button>
<div id="out"></div>
</body>
</html>

有一点html基础的童鞋可以看出,这里做了三个按钮,一个id为out的div,三个按钮是用来点击的,#out的div用来接收数据,每次点击button时先把#out清空,然后插入信息。

然后来写php:

 代码如下 复制代码

<?php
switch($_POST['name']){
  case 1:
    echo '1 哈哈';
    break;
  case 2:
    echo '2 呵呵';
    break;
  case 3:
    echo '3 活活';
    break;
}
?>

这段代码使用了php的switch语句,意思就说根据post中name的值来替换输出的内容,这里只是个简单的例子,你也可以通过这个原理让php进行更复杂的运算或输出更复杂的内容。

js我直接写在html里面了,没有单独用一个文件,用纯js写估计得写不少,用jQuery就2句搞定,其实一句都行,只是我这儿还是写成两句比较好理解一点。
第一句是吧button按钮中的name值存在一个变量里面,第二句是使用了jQuery的load函数,告诉php需要哪些信息,然后取回这些信息插入到#out中。

这个ajax就这么完成了,简单吗?

发表回复
你还没有登录,请先登录注册