(一)AjaxForCheckUser.js脚本文件---存放在js目录下
//定义XMLHttp
var XmlHttp
// 定义XmlDom文档
var XmlDom = new ActiveXObject("Msxml2.DOMDocument")
//定义用户名UserName
var UserName
//定义页面地址
var PageName
//定义检测函数
var CheckUrl = "checkuser.aspx"
/**
创建XmlHttp对象
*/
function createXmlHttp()
{
var xml
try
{
xml = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e) {
try
{
xml = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e2) {
xml = false
}
}
if (!xml &&typeof XMLHttpRequest != 'undefined') {
xml = new XMLHttpRequest()
}
return xml
}
/**
// 处理XmlHttp返回信息
*/
function OnReadyStateChange()
{
if(XmlHttp.readyState==4)
{
//写的函数
dealResponse(XmlHttp.ResponseText,UserName)
XmlHttp = null
}
}
//用于处理表格内的函数,填写表格
function dealResponse(xml,UserName)
{
XmlDom.loadXML(xml)
arrayLoaded = new Array()
var Nodelist = XmlDom.selectNodes("ResponseContent/Content")
for(var ii=0ii<宏游Nodelist.lengthii++)
{
var arrayItem = Nodelist[ii].selectSingleNode("UserName").text
//如果直接使用Content内容则为
//var arrayItem = Nodelist[ii].text
arrayLoaded[ii] = arrayItem
}
UserName = arrayLoaded[0]
//window.alert(UserName.toString())
if(UserName=="")
{
if(confirm("请您登录后再打开此页面缓饥!\n\n登录主页,请点击确定。"))
{
window.open("Default.aspx","蔽哪销client","")//Default.aspx模拟登陆页面加Session
}
return
}
else
{
window.open(PageName,"client","")
return
}
}
//打开页面函数
function OpenPage(PageLocation)
{
PageName = PageLocation
XmlHttp = createXmlHttp()
XmlHttp.open("Get",CheckUrl,true)
XmlHttp.onreadystatechange = OnReadyStateChange
XmlHttp.send(null)
}
(二)HTMLPage.htm页面文件------页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
<script type="text/javascript" src="js/AjaxForCheckUser.js"></script>
</head>
<body>
<a onclick="OpenPage('HTMLPage2.htm')" target="_blank">2页面</a>
</body>
</html>
说明:HTMLPage2.htm随便一个页面,目的在新窗口打开;没有登录则要求登陆。
(三)checkuser.aspx文件----没有显示内容
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="checkuser.aspx.cs" Inherits="checkuser" %>
(四)checkuser.aspx.cs文件----xml格式返回
public partial class checkuser : System.Web.UI.Page
{
//<?xml version='1.0' encoding='gb2312' ?>
//<ResponseContent>
//<Content>
//<UserName></UserName>
//</Content>
//</ResponseContent>
string xmlhead = "<?xml version='1.0' encoding='gb2312' ?><ResponseContent><Content>"
string xmltail = "</Content></ResponseContent>"
string xml
string xmlbody
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"] == null)
{
xmlbody = "<UserName></UserName>"
}
else
{
xmlbody = "<UserName>" + Session["UserName"].ToString() + "</UserName>"
}
xml = xmlhead + xmlbody + xmltail
Response.Write(xml)
}
}
(五)Default.aspx模拟登陆
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/HTMLPage.htm">HyperLink</asp:HyperLink></div>
</form>
</body>
</html>
(六)Default.aspx后台
using System
using System.Data
using System.Configuration
using System.Web
using System.Web.Security
using System.Web.UI
using System.Web.UI.WebControls
using System.Web.UI.WebControls.WebParts
using System.Web.UI.HtmlControls
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Session["UserName"] = "chenchen020110"
HyperLink1.Text = Session["UserName"].ToString()
}
}
首先将传递的扒枯参数值everyid打出来,看有没有值;然后在接收端打出$_REQUEST,或者$_POST信息;对比就能看出那块出问题了!既然请求状态码是200,那就宏伏证明没错,只是你的参数穿的有问题罢蔽此携了!跟正常接收数兆伏据 是一样的 ,$.ajax({
type: 'POST',
url: url
,
data: data
,
success: success
,
dataType: dataType
})
这里 ajax 使用租升 POST 类型提交,php 就用 $_POST 接收族型携。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)