原生Ajax 和jQuery Ajax的區(qū)別示例分析
前言:這次介紹的是利用ajax與后臺(tái)進(jìn)行數(shù)據(jù)交換的小例子,所以demo必須通過(guò)服務(wù)器來(lái)打開(kāi)。服務(wù)器環(huán)境非常好搭建,從網(wǎng)上下載wamp或xampp,一步步安裝就ok,然后再把寫好的頁(yè)面放在服務(wù)器中指定的位置。打開(kāi)時(shí),在瀏覽器地址欄輸入“l(fā)ocalhost/指定頁(yè)面”或者“127.0.0.1/指定頁(yè)面”打開(kāi)。
下面列出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'>
<!--要插入的內(nèi)容-->
</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>人間四月芳菲盡,山寺桃花始盛開(kāi)</p>",
'summer' => "<img src='images/summer.jpg' alt='' /><p>水晶簾動(dòng)微風(fēng)起,滿架薔薇一院香</p>",
'fall' => "<img src='images/fall.jpg' alt='' /><p>金井梧桐秋葉黃,珠簾不卷夜來(lái)霜</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('沒(méi)有成功創(chuàng)建請(qǐng)求')
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>
相關(guān)文章
40個(gè)新鮮出爐的jQuery 插件和免費(fèi)教程[上]
作為最流行的 JavaScript 庫(kù),jQuery 擁有豐富的插件,能夠幫助開(kāi)發(fā)者簡(jiǎn)單快速的實(shí)現(xiàn)各種功能2012-07-07jQuery實(shí)現(xiàn)圖片信息的浮動(dòng)顯示實(shí)例代碼
圖片信息的浮動(dòng)顯示的效果,在網(wǎng)頁(yè)應(yīng)用中還是比較流行的,下面為大家詳細(xì)介紹下使用jquery是如何實(shí)現(xiàn)的,喜歡的朋友可以參考下2013-08-08結(jié)構(gòu)/表現(xiàn)/行為完全分離的選項(xiàng)卡(jquery版和原生JS版)
日常項(xiàng)目中常用到的,用jQuery和原生JS分別寫了一個(gè). 兩種寫法均實(shí)現(xiàn)了結(jié)構(gòu)/表現(xiàn)/行為的完全分離.當(dāng)然,稍作修改,可以在同一個(gè)頁(yè)面中應(yīng)用于多個(gè)選項(xiàng)卡.2010-08-08checkbox:click事件觸發(fā)span元素內(nèi)容改變的方法
下面小編就為大家?guī)?lái)一篇checkbox:click事件觸發(fā)span元素內(nèi)容改變的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09jQuery實(shí)現(xiàn)郵箱下拉列表自動(dòng)補(bǔ)全功能
在一些網(wǎng)站我們經(jīng)??吹疆?dāng)我們要輸入郵箱的時(shí)候,還沒(méi)有填寫完,就會(huì)出現(xiàn)一系列下拉列表,幫助我們自動(dòng)補(bǔ)全郵箱,怎么實(shí)現(xiàn)的呢?今天下面給大家分享基于jquery實(shí)現(xiàn)郵箱下拉列表自動(dòng)補(bǔ)全功能,一起看看吧2016-09-09