1、ajaxTool.js
var xmlhttp;
/**
* ajax之GET请求方式
* @param url
* @param data
* @param callback
*/
function ajaxGET(url, data, callback)
{
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
// 请求完成,并且响应状态为成功
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var jsondata = JSON.parse(xmlhttp.responseText);
callback(jsondata);
}
}
xmlhttp.open("GET", url + '?' + data, true);
xmlhttp.send();
}
/**
* ajax之POST请求方式
* @param url
* @param data
* @param callback
*/
function ajaxPOST(url, data, callback)
{
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
// 请求完成,并且响应状态为成功
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var jsondata = JSON.parse(xmlhttp.responseText);
callback(jsondata);
}
}
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(data);
}
2、testAjaxTool.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的ajax工具</title>
</head>
<body>
<h1>我的ajax工具</h1>
</body>
<script src="ajaxTool.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
// 测试GET
ajaxGET('http://127.0.0.1/index.php', 'name=txinz&page=1', function(data) {
if (data) {
// 输出结果
document.body.innerText = data.msg;
}
});
// 测试POST
ajaxPOST('http://127.0.0.1/index.php', 'name=txinz&page=1', function(data) {
if (data) {
// 输出结果
document.body.innerText = data.msg;
}
});
</script>
</html>
3、index.php (服务端)
<?php
// 准备的测试数据
$arr = ['msg'=>'success', 'code'=>1];
// 告诉浏览器这是json数据
header('Content-Type:application/json;charset=UTF-8');
// 告诉浏览器允许跨域访问的域名
header('Access-Control-Allow-Origin: *');
// 输出json
echo json_encode($arr);