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();
}
}
}
}
服务器
[解决办法]
进入回调了没有?可能动态页出错了吧,增加非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);
}
}