ajax异异步步刷刷新新实实现现更更新新数数据据库库
上篇文章都是关于界面的东西,下面写关于如 把无刷新的把数据写入到数据库中。
当我们改变某一个人或某几个人的某项分值实现无刷新写入数据库。
首先,我们需要声明XMLHttpRequest对象
代码如下: 复制代码
//声明XMLHttpRequest对象
var xmlHttp;
function createXMLHTT P() {
if ( indo .XMLHttpRequest) {
xmlHttp = ne XMLHttpRequest(); //Mozilla浏览器
}
else if ( indo .A ctiveXObj ect) {
try {
xmlHttp = ne A ctiveXObj ect("Msxml2.XMLHTT P"); //IE老版本
}
catch (e)
{ }
try {
xmlHttp = ne A ctiveXObj ect("Microsoft.XMLHTT P"); //IE新版本
}
catch (e)
{ }
if (!xmlHttp) {
indo .alert("不能创建XMLHttpRequest对象实例!");
return false;
}
}
}
同时,需要回调函数来确定是否修改成功
代码如下: 复制代码
//更新或者添加记录的回调函数 (检验是否评分成功)
function ModifyScore ()
{
if (xmlHttp.readyState == 4)
{
// if (xmlHttp.status == 200)
{
if (xmlHttp.responseText == "true")
{
}
else
{
// alert("评分失败,请重新评分或者与管理员联系");
}
}
}
}
准备工作完成之后,下面就是关键的一步:
因为需要在修改分值的时候写入数据库,所以只需要在上篇博客中提高的改变下拉框值 (循环选中项时)的执行这样一段代码:
代码如下: 复制代码
//获取互评ID
var criticsID = checkbox[i].value;
//把修改值写入数据库
//获取项目分数
var scoreA ll = document.getElementById("score" +checkbox[i].value + srcElem.