ajax使用xmlhttprequest,使用XMLHttpRequest发送Ajax请求
htmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">varurl='http://192.168.4.1:8082/Person/Detail';//AjaxUtil.addURLParam(url,'id',92...
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
var url = 'http://192.168.4.1:8082/Person/Detail';
//AjaxUtil.addURLParam(url, 'id', 920);
//AjaxUtil.addURLParam(url, 't', Math.random());
var xhr = AjaxUtil.createXHR();
xhr.onreadystatechange = function () {
if(xhr.readyState == 4) {
if((xhr.status >=200 && xhr.status
alert(xhr.responseText);
} else {
alert('请求失败!' + xhr.status);
}
}
}
xhr.open('post', url, true);
//设置请求头必须在open()方法之后,send()方法之前
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//xhr.open('get', url, true);
xhr.send("id=920");
XMLHttpRequest的readyState属性标识请求/响应过程的状态变化,有以下取值
0:未初始化,尚未调用open()方法
1:启动 已调用open() 方法,尚未调用send() 方法
2:发送 已调用send() 方法
3:接收:已接收到部分数据
4:完成:已接收到全部数据
每次readyState变化都会触发readystatechange事件,我们需要关注的是状态4var AjaxUtil = {
//创建XMLHttpRequest对象,兼容IE7以下版本
createXHR: function () {
if (typeof XMLHttpRequest != 'undefined') {
return new XMLHttpRequest();
} else if ( typeof ActiveObject != 'undefined') {
if (typeof arguments.callee.activeString != 'string') {
var versions = ['MSXML.XMLHttp.6.0','MSXML.XMLHttp.3.0','MSXML.XMLHttp'];
var i,len;
for (i=0,len=versions.length; i
try {
new ActiveObject(versions[i]);
arguments.callee.activeString = versions[i];
break;
} catch (ex) {
}
}
return new ActiveObject(arguments.callee.activeString);
}
} else {
throw new Error("浏览器不支持!");
}
}
//为GET请求添加参数
, addURLParam: function (url, name, value) {
url += (url.indexOf('?') == -1) ? '?' : '&';
url += encodeURIComponent(name) + '=' + encodeURIComponent(value);
return url;
}
}
//代码摘自Javascript高级程序设计Ajax部分
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)