凤眠

先行后知,知行合一

导航

javascript实现原生ajax的方法

Posted on 2015-08-25 21:44  凤眠  阅读(223)  评论(0编辑  收藏  举报
<script>
var xmlHttp;
function createxmlHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}

function doGet(url) {
// 注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码
createxmlHttpRequest();
xmlHttp.open('GET', url);
xmlHttp.send(null);
xmlHttp.onreadystatechange = function() {
console.log(xmlHttp.readyState + ', ' + xmlHttp.status);
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
alert('success');
var data = JSON.parse(xmlHttp.responseText);
console.log(data);
console.log(data.errorcode);
} else {
console.log(xmlHttp.responseText);
//alert('fail');
}
}
}

function doPost(url, data) {
// 注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码
createxmlHttpRequest();
xmlHttp.open('POST', url);
xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlHttp.send(data);
xmlHttp.onreadystatechange = function() {
console.log(xmlHttp.readyState + ', ' + xmlHttp.status);
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
alert('success');
console.log(xmlHttp.responseText);
} else {
console.log(xmlHttp.responseText);
//alert('fail');
}
}
}
</script>

用法:
doGet('http://front/test/ajax');
doPost('http://front/test/ajax', 'fname=Bill&lname=Gates');