首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ajax技术中的Session的应用

2013-06-25 
ajax技术中的Session的使用前台是我要对用户名和密码同时进行验证,因为是登录过的。我就把登录的用户名保存

ajax技术中的Session的使用
前台是我要对用户名和密码同时进行验证,因为是登录过的。我就把登录的用户名保存在Session["name"]中,所以在前台对密码进行修改的时候向服务器只发送了密码,问题是:前台无法接受来自后台请求的回调。也就是回调函数无法正常工作
代码如下:前台js代码

window.onload = init;
function init() {
    document.getElementById("oldpd").onblur = checkOldpd;
}
var xmlrequest;
function ctreatehttp() {
    if (window.XMLHttpRequest) //For general cases.
    {

        xmlrequest = new XMLHttpRequest();
    }
    else {
        if (window.ActiveXObject) {

            xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlrequest;
}
function checkOldpd() {
    xmlrequest = ctreatehttp();
    document.getElementById("oldpd").className = "thinking";
    if (xmlrequest == null) {
        alert("请求是个空值");
    }
    else {
        alert("0");
        var oldpd = document.getElementById("oldpd");
        var mima = escape(oldpd);
        var url = "checkoldpd.aspx?pd=" + mima;
        xmlrequest.onreadystatechange = handle;
        alert("1");
        xmlrequest.open("GET", url, true);
        xmlrequest.send(null);
    }
}
function handle() {
    if (xmlrequest.readyState == 4) {
        if (xmlrequest.status == 200) {
            alert("yes");
            var img = document.getElementById("oldpd");
            var str = xmlrequest.responseText;
            alert(str);
            if (str == "ok") {
                img.className = "approved";
            }

            else {
                img.className = "denied";
                img.focus();
                img.select();
            }
            
        }
    }
}

后台服务器代码如下:


window.onload = init;
function init() {
    document.getElementById("oldpd").onblur = checkOldpd;
}
var xmlrequest;
function ctreatehttp() {
    if (window.XMLHttpRequest) //For general cases.
    {

        xmlrequest = new XMLHttpRequest();
    }
    else {
        if (window.ActiveXObject) {

            xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlrequest;
}
function checkOldpd() {
    xmlrequest = ctreatehttp();
    document.getElementById("oldpd").className = "thinking";
    if (xmlrequest == null) {
        alert("请求是个空值");
    }
    else {
        alert("0");
        var oldpd = document.getElementById("oldpd");
        var mima = escape(oldpd);
        var url = "checkoldpd.aspx?pd=" + mima;
        xmlrequest.onreadystatechange = handle;
        alert("1");
        xmlrequest.open("GET", url, true);
        xmlrequest.send(null);
    }
}
function handle() {
    if (xmlrequest.readyState == 4) {
        if (xmlrequest.status == 200) {
            alert("yes");
            var img = document.getElementById("oldpd");
            var str = xmlrequest.responseText;
            alert(str);
            if (str == "ok") {
                img.className = "approved";
            }

            else {
                img.className = "denied";
                img.focus();
                img.select();
            }
            
        }
    }
}

在线等啊,急求啊 session Ajax

服务器
[解决办法]
进入回调了没有?可能动态页出错了吧,增加非200状态判断

function handle() {
    if (xmlrequest.readyState == 4) {
        if (xmlrequest.status == 200) {
            alert("yes");
            var img = document.getElementById("oldpd");
            var str = xmlrequest.responseText;
            alert(str);
            if (str == "ok") {
                img.className = "approved";
            }
 
            else {
                img.className = "denied";
                img.focus();
                img.select();
            }
             
        }
////////////////
       else alert('动态页有问题\n\n'+xmlrequest.responseText);
    }
}

热点排行