您的位置:首页 > 其它

异步加载之ajax

2017-12-16 12:47 232 查看

1 XMLHttpRequest

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

var xmlhttp;
if (window.XMLHttpRequest)
{
//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}


2 open&send

方法参数
open(method,url,async)规定请求的类型、URL 以及是否异步处理请求。 method:请求的类型;GET 或 POST url:文件在服务器上的位置 async:true(异步)或 false(同步)
send(string) 将请求发送到服务器。string:仅用于 POST 请求
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();


懒得详细写了。。。详情

下面是laravel项目中的自己胡乱搞的一个动态加载的demo:

对应的效果(下面的新闻)

<script>
//ajax动态加载
var page = 0;
window.onload = function() { //页面加载触发点击加载
document.getElementById("btn").click();
};
$.ajaxSetup({ //laravel csrf验证
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
function add(){

$.ajax({
dataType:"html",
url:'/companynews_adax/'+page+'/'+'{{$company->name}}',
type:'get',

success:function(news) {
var items = JSON.parse(news);
if(page!=0) {
for (var i=0;i<items.length;i++)
$("#template").remove();
}
$.each(items, function(i, obj) {
$("#template").clone(true).insertBefore($("#template"));
$("#template").attr('style', 'display:block');

$("#newsTitle").text(obj[1]);
$("#newshref").attr('href',obj[0]);
$("#newsSource").text(obj[3]);
$("#newsTime").text(obj[2]);
});
page++;
}
});
};

$("#btn").click(function(event) {
add();
});
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: