没有使用jQuery封装的“GET”请求
function ajax(url,data,timeout,success,error) {
var timer;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("GET",url + "?" + obj2str(data),true);
xmlHttp.send();
xmlHttp.onreadystatechange = function () {
if(xmlHttp.readyState == 4){
clearInterval(timer);
if (xmlHttp.status >= 200 && xmlHttp.status < 300 || xmlHttp.status == 304){
success(xmlHttp);
console.log("服务器返回的数据: " + xmlHttp.responseText);
}
else{
error(xmlHttp);
console.log("未获得服务器返回的数据");
}
}
else {
console.log("error");
}
}
if(timeout){
timer = setInterval(function () {
console.log("请求超时,中断请求")
xmlHttp.abort();
clearInterval(timer);
},timeout)
}
}
function obj2str(obj) {
obj.t = new Date().getTime();
var res = [];
for (var key in obj){
res.push(key + "=" + obj[key]);
}
return res.join("&");
}
html 文件
<script>
window.onload = function () {
var btn = document.getElementById("btn");
btn.onclick = function (){
ajax("ajax_get.php",{"username":"zw","password":"123"},3000,function (xhr) {
alert(xhr.responseText);
},
function (xhr) {
alert("error response.");
});
}
}
</script>
随手写的计时器,娱乐
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var t = 0;
var timer;
is_pause = false;
function get_timer() {
timer = window.setInterval("clock()",1000);
t = 0;
document.getElementById("clock").value = t;
}
function go_on() {
is_pause = false;
}
function clean_timer(timer) {
window.clearInterval(timer);
}
function pause() {
is_pause = true;
document.getElementById("clock").value = t;
}
function clock() {
if(!is_pause){
t += 1;
document.getElementById("clock").value = t;
}
}
</script>
</head>
<body>
<input type="text" id="clock" value="0"/>
<button onclick="get_timer()">开始</button>
<button onclick="pause()">暂停</button>
<button onclick="go_on()">继续</button>
<button onclick="clean_timer(timer)">停止</button>
</body>
</html>