//这里用bcandy作为方法名是为了感谢一个对我来说很重要的人,她一直在支持我
function bcandy(tid,url,parm,js) {
if(url == ""){
return;
}
//这是一个加载信息提示框,也可以不要!
document.getelementbyid("load").style.visibilITy = "visible";
//加载相应页面的js文件
if(js != null){
//加载js文件
loadjs(js);
}
// 获取一个xmlhttprequest实例
var req = newxmlhttprequest();
// 设置用来从请求对象接收回调通知的句柄函数
var handlerfunction = getreadystatehandler(req,tid);
req.onreadystatechange = handlerfunction;
// 第三个参数表示请求是异步的
req.open("post", url, true);
// 指示请求体包含form数据
req.setrequestheader("content-type",
"application/x-www-form-urlencoded");
// 发送参数
req.send(parm);
}
function getreadystatehandler(req,tid) {
// 返回一个监听xmlhttprequest实例的匿名函数
return function () {
// 如果请求的状态是“完成”
if (req.readystate == 4) {
// 成功接收了服务器响应
if (req.status == 200) {
//下面一句是重点,这里显示了返回信息的内容部分,也可以加以修改。进行其它处理
document.getelementbyid(tid).innerhtml = req.responsetext;
document.getelementbyid(tid).style.visibilITy = "visible";
//这一句是实现加载信息提示框的隐藏,也可以不要。
document.getelementbyid("load").style.visibilITy = "hidden";
} else {
// 有http问题发生
document.getelementbyid("load").style.visibilITy = "hidden";
alert("http error: "+req.status);
}
}
}
}
//动态加载js文件
function loadjs(file){
var head = document.getelementsbytagname('head').ITem(0);
var script = document.createelement('script');
script.src = file;
script.type = "text/javascript";
head.appendchild(script);
}