您的位置:首页 > Web前端 > JavaScript

MVC设计模式 (1)、html页面事件触发ajax()方法调用ajax.js发送请求至请求目标文件

2017-12-11 23:21 856 查看
XMLHttpRequest是AJAX的基础

所有的现代浏览器都支持XMLHttpRequest对象(IE5、IE6使用ActiveXObject)

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

//在静态页面调用ajax方法:
ajax({
type:'post',//ajax请求方式
url:'../index.php?C=admin&A=login',//发送请求的目标文件
data:{username:'song'},//发送的数据
success:function(obj){
//请求成功后执行的代码块
}
})
//以下是ajax.js文件的全部内容
创建一个ajax.js文件保存ajax方法:


function ajax(obj){
//1.创建XMLHttpRequest对象:


if(window.XMLHttpRequest){
var ajax = new XMLHttpRequest();
}else{
var ajax= new ActiveXObject("Microsoft.XMLHTTP");
}
//拼接请求数据
var data="";
for(var i in obj.data){
obj.data[i]=encodeURIComponent(obj.data[i]);//encodeURIComponent()可以把字符串作为URI组件进行编码
data+=i+"="+obj.data[i]+"&";
}
//判断请求方式:
if(obj.type.toUpperCase()=="GET"){
//拼接url参数
var url=obj.url+'?'+data;
//2.向服务器发送请求:
ajax.open(obj.type,obj.url,true);//url是服务器上的文件地址
ajax.send(data);




}else{
ajax.open(obj.type,obj.url,true);
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencode');
ajax.send(data);
}
ajax.onreadystatechange=function(){
if(ajax.readState==4){//"4"ajax状态值,响应内容解析完成可以在客户端调用;每当readyState改变时,就会触发onreadystatechange事件
if(ajax.status>=200&&ajax.status<=300||ajax.status==304){//”200“请求状态码,请求成功;”304“所请求数据未修改
obj.success(ajax.responseText);//responseText获得字符串形式的响应数据
}
}
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐