首页 / 脚本样式 / JavaScript / 原生Ajax 和jQuery Ajax的区别示例分析
前言:这次介绍的是利用ajax与后台进行数据交换的小例子,所以demo必须通过服务器来打开。服务器环境非常好搭建,从网上下载wamp或xampp,一步步安装就ok,然后再把写好的页面放在服务器中指定的位置。打开时,在浏览器地址栏输入“localhost/指定页面”或者“127.0.0.1/指定页面”打开。
下面列出demo的HTML、PHP、原生ajax 、jq ajax代码。
HTML代码:
复制代码 代码如下:
<!doctype html>
<html>
<head>
<title>ajax示例</title>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="css/common.css" />
<style type="text/css">
.main{height:400px;width:800px;margin:100px auto 0;border:1px solid #000;}
.list{height:400px;width:200px;float:left;background:#ddd;}
.inf{height:400px;width:600px;float:right;background:#ccc;text-align:center;}
.list li{width:200px;text-align:center;margin:50px 0 0;font-size:24px;cursor: pointer;
}
.inf img{width:360px;height:270px;margin:15px auto;}
.inf p{width:580px;text-align:left;text-indent:2em;font-size:14px;margin:0 10px;}
</style>
</head>
<body>
<div class="main">
<div class="list" id="list">
<ul>
<li name="spring" id="spring">春</li>
<li name="summer" id="summer">夏</li>
<li name="fall" id="fall">秋</li>
<li name="winter" id="winter">冬</li>
</ul>
</div>
<div class="inf" id="inf">
<!--要插入的内容-->
</div>
</div>
</body>
<script type="text/javascript" charset="utf-8" src="js/jQuery.js"></script>
</html>
PHP代码:
复制代码 代码如下:
<?php
$details = array (
"spring" => "<img src="images/spring.jpg" alt="" /><p>人间四月芳菲尽,山寺桃花始盛开</p>",
"summer" => "<img src="images/summer.jpg" alt="" /><p>水晶帘动微风起,满架蔷薇一院香</p>",
"fall" => "<img src="images/fall.jpg" alt="" /><p>金井梧桐秋叶黄,珠帘不卷夜来霜</p>",
"winter" => "<img src="images/winter.jpg" alt="" /><p>梅须逊雪三分白,雪却输梅一段香</p>"
);
echo $details[$_REQUEST["LiName"]];
?>
原生ajax:
复制代码 代码如下:
<script type="text/javascript">
var lis = document.getElementById("list").getElementsByTagName("li");
window.onload = initPage;
function initPage() {
for (var i=0; i<lis.length; i++) {
txt = lis[i];
txt.onclick = function () {
getDetails(this.id);
}
}
}
function creatRequest() {
try {
request = new XMLHttpRequest();
}
catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (otherMS) {
try {
request = new ActiveXObject("Miscrosoft.XMLHTTP");
}
catch (failed) {
request = null;
}
}
}
return request;
}
function getDetails(itemName) {
request = creatRequest();
if (request == null) {
alert("没有成功创建请求")
return;
}
var url = "getDetails.php?LiName="+escape(itemName);
request.open("GET",url,true);
request.onreadystatechange = displayDetails;
request.send(null);
}
function displayDetails() {
if (request.readyState == 4) {
if (request.status == 200) {
detailDiv = document.getElementById("inf");
detailDiv.innerHTML = request.responseText;
}
}
}
</script>
JQ ajax:
复制代码 代码如下:
<script type="text/javascript">
$("#list li").click ( function () {
$.ajax({
type:"GET",
data:"",
url:"getDetails.php?LiName="+this.id,
success:function(data){
$("#inf").html(data);
},
dataType:"text",
error:function (){
alert("失败!");
}
})
});
</script>