#1.Ajax簡介 AJAX = 異步 JavaScript 和 XML。 AJAX 是一種用於建立快速動態網頁的技術。 經過在後臺與服務器進行少許數據交換,AJAX 能夠使網頁實現異步更新。這意味着能夠在不從新加載整個網頁的狀況下,對網頁的某部分進行更新。javascript
#2.AJAX 實例css
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>查詢訪問</title>
<!--
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=abc&cb=jQuery110206545585568528622_1499224165848&_=1499224165856
-->
<style type="text/css">
*{margin:0px;padding: 0px;}
#container{width:800px;margin:auto;margin-top:10px;}
input[id="keywords"]{width: 500px;height: 40px;border:solid 2px #cecece;font-size: 22px;line-height: 40px;color:#888;padding-left: 10px;}
#sug{width:512px;list-style: none;border:solid 1px #ccc;}
#sug li{height: 30px;background:#fcfcfc;line-height:30px;font-size:18px}
</style>
<script type="text/javascript" src="../jquery-1.12.4.js"></script>
</head>
<body>
<div id="container">
<div>
<input type="text" id="keywords" placeholder="請輸入關鍵詞">
</div>
<ul id="sug">
<!-- <li>建議搜索的關鍵詞</li> -->
</ul>
</div>
<script>
// 獲取輸入框
var $kw = $("#keywords");
// 添加鍵盤按鍵擡起事件
$kw.keyup(function(){
// 獲取輸入框中的輸入
var $value = $kw.val();
// 調用函數,獲取數據
$.ajax({
url:"https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?cb=?",
type:"get",
data:{wd:$value},
dataType:"jsonp",
success:function(msg){
// 當url接口訪問成功的時候,自動調用success對應的函數,接口返回的數據會自動存放在函數的參數data中
console.log(msg.s);
// 將輸入輸出到頁面中;dom操做
var _sug = msg.s;
// 清空原來的url標籤;
$("#sug").empty();
for (var i = 0;i< _sug.length;i++){
// 建立一個li標籤
var $li = $("<li>")
// 標籤中添加文本數據
$li.text(_sug[i]);
// 將li標籤,添加到頁面中
$("#sug").append($li);
}
}
});
});
</script>
</body>
</html>
<!-- dataType:"jsonp",
同源策略:web規範了只有相同源頭(域名)的數據才能夠互相訪問
同源策略是爲了數據的安全性,而設置的一種網絡數據訪問限制
跨域:從不一樣的域名下訪問指定的數據 -->
複製代碼
效果展現:html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>天氣預報</title>
<style>
*{margin:0px;padding:0px;}
#container{width:800px;margin:auto;font-size: 20px;font-weight: bolder;}
input[id="city"]{width:500px;height:35px;border:solid 2px #cecece;font-size:22px;line-height:35px;color:#888;padding-left:10px; margin:10px;}
#show{display:block;width: 600px;height: 300px;border: solid 2px #888;margin: 10px auto; list-style: none;padding: 10px;border-radius: 8px;box-shadow: 10px 10px 5px #888}
</style>
<script type="text/javascript" src="../jquery-1.12.4.js"></script>
</head>
<body>
<div id="container">
<div>
請輸入城市名稱:
<input type="text" id="city" placeholder="請輸入想查詢的地區">
</div>
<ul id="show">
<li>天氣信息</li>
</ul>
</div>
<script>
// 獲取須要的標籤對象
var _city = $("#city");
var _show = $("#show");
// 添加事件處理
_city.blur(function(){
// 獲取輸入框中的輸入數據
var $value = _city.val();
_show.empty();
// 調用函數,獲取數據
$.ajax({
url:"http://wthrcdn.etouch.cn/weather_mini?callback=?",
type:"get",
data:{city:$value},
dataType:"jsonp",
success:function(msg){
// 當url接口訪問成功的時候,自動調用success對應的函數,接口返回的數據會自動存放在函數的參數data中
console.log(msg);
// 獲取城市數據,展現到頁面中
var $city = $("<li>");
$city.text(msg.data.city + "天氣預報信息:");
// 獲取今天溫度數據
var $wd = $("<li>");
$wd.text("今天溫度:"+ msg.data.wendu);
// 獲取今天感冒指數數據
var $gm = $("<li>");
$gm.text("舒適提示:"+ msg.data.ganmao);
// 今每天氣預報
var $today = $("<li>");
var $date = $("<span>").text("日期:" + msg.data.forecast[0].date)
var $type = $("<span>").text(";今每天氣:" + msg.data.forecast[0].type)
var $high = $("<span>").text(";最高氣溫:" + msg.data.forecast[0].high)
var $low = $("<span>").text(";最低氣溫:" + msg.data.forecast[0].low)
var $fl = $("<span>").text(";風力:" + msg.data.forecast[0].fengli)
var $fx = $("<span>").text(";風向:" + msg.data.forecast[0].fengxiang)
$today.append($date).append($type).append($high).append($low).append($fl).append($fx);
_show.append($city).append($wd).append($gm).append($today);
},
error:function(){
console.log("運行錯誤...");
}
});
});
</script>
</body>
</html>
複製代碼
效果展現:前端
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>快遞信息查詢</title>
<style type="text/css">
*{margin: 0;padding: 0;}
#container{width: 800px;margin: 15px auto;font-size: 20px;font-weight: bolder;}
select[id="company"]{width: 200px;height: 30px;font-size: 18px;font-family: "微軟雅黑";border-radius: 5px;}
#wb{float: left;}
input[id="postid"]{margin:10px auto;width: 200px;height: 20px;font-size: 14px;font-family: "微軟雅黑";border-radius: 3px;}
button[id="cx"]{display: block;width: 56px;height: 26px;background-color:#388bff;color:white;margin: 8px 380px;}
ul[id="show"]{list-style: none;width: 500px;height:500px;border:solid 2px #888; border-radius: 8px; }
#container ul li p{padding:15px;width:480px;
min-height: 50px;font-size:14px;}
</style>
<script type="text/javascript" src="../jquery-1.12.4.js">
</script>
</head>
<body>
<div id="container">
<div>
<label for="company">快遞公司名稱</label>
<select id="company" name="address">
<option value="shunfeng">順豐速運</option>
<option value="shentong">申通快遞</option>
<option value="ems">EMS</option>
<option value="yuantong">圓通速遞</option>
<option value="zhongtong">中通快遞</option>
<option value="tiantian">每天快遞</option>
<option value="huitongkuaidi">匯通快遞</option>
<option value="yunda">韻達速遞</option>
<option value="quanfengkuaidi">全峯快遞</option>
<option value="debangwuliu">德邦</option>
<option value="zhaijisong">宅急送</option>
</select>
</div>
<div id="wb">
<label for="post">輸入快遞單號</label>
<input type="text" id="postid">
</div>
<div>
<button id="cx">查詢</button>
</div>
<ul id="show">
<li>
<i></i>
<p>物流信息</p>
</li>
</ul>
<div style="clear:both;"></div>
</div>
<script>
// 獲取標籤對象:快遞公司
var $selector=$("#company");
// 獲取快遞單號
var $postid=$("#postid");
// 查詢
var $cx=$("#cx");
// 給查詢按鈕添加點擊事件
$cx.click(function(){
// 獲取須要的數據
var $company = $selector.val();
var $value = $postid.val();
// ajax 獲取數據
$.ajax({
url:"https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?cb=?",
type:"get",
data:{com:$company,nu:$value,appid:4001},
dataType:"json",
success:function(msg){
// 清空歷史消息
$("#show").empty();
// 獲取接口返回的數據
console.log(msg);
var $info = msg.data.info.context;
// 循環遍歷數據
for(var i = 0; i <$info.length;i++){
// 獲取每一筆的時間信息
var $time = $info[i].time;
$time = getTimeStr($time);
// 獲取每一筆的快遞信息
var $desc = $info[i].desc;
// 建立標籤,添加到頁面中
var $msg = $("<p>").text($time + ":" + $desc);
var $i = $("<i>");
var $kd = $("<li>");
$kd.append($i).append($msg);
// 添加到頁面中
$("#show").append($kd);
}
},
error:function(){
console.log("系統繁忙,查詢失敗");
}
});
});
// 獲取時間字符串
function getTimeStr(dt){
var _date = new Date(parseInt(dt*1000));
return _date.getFullYear() + "-" + (_date.getMonth() + 1) + "-" + _date.getDate() + " " + _date.getHours() + ":" + _date.getMinutes() + ":" + _date.getSeconds();
}
</script>
</body>
</html>
複製代碼
效果展現html5
#####推薦幾個網站java
jQuery插件庫:JS特效,網頁特效,以及各類html5,css3動畫和效果jquery
Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。Bootstrap 是基於 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷。css3
阿里巴巴矢量圖標庫:Iconfont-國內功能很強大且圖標內容很豐富的矢量圖標庫,提供矢量圖標下載、在線存儲、格式轉換等功能。web
Swiper(Swiper master):是目前應用較普遍的移動端網頁觸摸內容滑動js插件。ajax