举一个jquery中ajax的应用小 demo 便于以后的更多项目拓展 ,这里要注意的是保存的文件名和文件图片路径问题 ...
ajax01.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> ajax小例子 </title>
</head>
<body>
<!-- 获取ajax数据的触发按钮 -->
<input type="button" value="获取数据" class="btn">
<!-- 让 ajax 内容加载到 news 这个 div 中 -->
<div class="news">
<img src="img/loading.gif" class="load" style="display:none;">
</div><!--news-->
</body>
</html>
<script src="jquery-1.8.2.min.js"></script>
<script>
$(function(){
//在整个文档中指定ajax开始与结束加载图片的显示与隐藏
$(document).ajaxStart(function(){
//数据还未加载完成的时候 load 图片展示
$('.load').show();
}).ajaxStop(function(){
//数据加载完成的时候 load 图片消失
$('.load').hide();
})
//按钮点击的时候那么触发ajax
$('.btn').click(function(){
$.ajax({
//要获取到的ajax的php文件,记得要在后面加上随机数清除缓存
url:'ajax01.php?t='+ Math.random(),
//类型使用get方式,这个要与程序员约定
type:'GET',
//设置一个网络超时时间,如果一旦过了这个时间还未请求成功的话,那么就在 error 这个属性上设置错误报告
timeout:5000,
//成功的话执行一段函数来进行功能实现
success:function(data){
//data是返回来的数据,数据类型为字符串型,那么要经过eval方法来进行转换成对象
var result = eval(data);
//使用 for in 语句来进行遍历
for(var i in result){
//得到数据插入到要输出的元素中
var child = $('<div class="child"><h3>'+result[i].title+'</h3><p>'+result[i].content+'</p></div>');
//再把元素插入到new这个盒子里面
$('.news').append(child);
}
}
//如果发生错误的错误报告
error:function( XMLHttpRequest, textStatus, errorThrown ){
//如果网络超时了那么执行提示
if (textStatus == 'timeout') {
alert('网络超时,请刷新!');
}
}
});
});
});
</script>
ajax01.php
<?php
//睡眠1秒是为了测试是否会执行load图片的显示
sleep(1);
//输出json格式的数据
echo '[{"title":"第一现场","content":"我是内容一"},
{"title":"第二现场","content":"我是内容二"},
{"title":"第三现场","content":"我是内容三"}]';
?>