问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用html+ajax如何获取服务器或其它网站的数据

发布网友 发布时间:2022-04-10 05:37

我来回答

1个回答

热心网友 时间:2022-04-10 07:07

服务器跟踪用户状态有好几种方法,其中一种就是,服务器保持session,给客户端一个sessionid,客户端每次发送请求时,会把这个sessionid提交给服务器(这是浏览器干的事),服务器根据这个sessionid找到相应的session,如果你用的jsp,jsp引擎(比如tomcat)会吧这个session作为一个实例变量放到jsp页面里,你可以直接使用。如果是html文件,jsp引擎会直接发送给客户端html文件的内容。

客户端的js访问cookie的方法只能访问存储在客户端的cookie(使用js或session的cookie存储的)。

一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数量众多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操作是个很烦琐的过程,远没有对于session操作那样简便。

为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。

使用保持(Persistence)技术让我们能够在当前会话过程中保存一些数据对象到客户端,它减少了对服务器的访问请求,充分发挥了客户端计算机的数据处理能力,从而也整体提升了页面显示效率。

Microsoft Internet Explorer 5浏览器和以后的版本都支持使用状态保持(Persistence)技术,它有以下几种行为可供调用:
saveFavorite—当页面被添加到收藏夹时保存页面状态和信息
saveHistory—在当前会话中保存页面状态和信息
saveSnapshot—当页面被保存到硬盘时,保存页面状态和信息persists
page state and information directly in the page when users save the Web page to
their hard disk.
userData—在当前会话中用XML格式保存页面状态和信息 网页制作

Persistence技术打破了以前使用使用cookies和session的传统,它继承了以前cookies的一些安全策略,同时也增加了存储和管理数据的能力。我们的每个页面有64KB的用户数据存储容量,对于每个站点总计有640KB的存储上限。

Persistence技术存储的数据格式符合XML标准,所以可以使用DOM技术中的getAttribute和setAttribute方法来存取数据。

下面是一个Persistence技术的典型应用,通过对Persistence存储数据的分析,使得静态页面具有验证功能。
实际判断过程是这样的:
有三个对象:游客V、导航页面A、内容页面C
游客V只能通过导航页面A的链接才能看到内容页面C;
如果游客V是通过其它途径来访问内容页面C(比如通过其它网站的超链接、直接在IE地址栏中输入网址访问等),内容页面C将自动提示版权信息,显示空白页。

具体实现步骤:
一、在“导航页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnSave用来授权。
<STYLE>
.userData
</STYLE>

<SCRIPT language=Javascript>
网页编程

function fnSave(){
oPersistDiv.setAttribute("bIsValid","true");
oPersistDiv.save("oXMLStore");
}
</SCRIPT>
二、在“导航页面”的<body>和</body>区域中定义一个层用来标识Persistence对象
<DIV CLASS=userData ID="oPersistDiv"></DIV>
三、在“导航页面”的超链接属性中加入一条语句用来调用函数fnSave:
<a href='redhat2.htm' onmousedown="fnSave()">

接下来,为“内容页面”加入验证功能:
四、在“内容页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnLoad用来判断合法性。
<STYLE>
.userData
</STYLE>
<SCRIPT>
var bPageValid=false;
function fnLoad(){
oPersistDiv.load("oXMLStore");
if((oPersistDiv.getAttribute("bIsValid"))&&(oPersistDiv.getAttribute("bIsValid")=="true")){
bPass=true;
网页模板

}
else{
bPass=false;
}
oPersistDiv.setAttribute("bIsValid","false");
oPersistDiv.save("oXMLStore");
if(bPass==false){
var sError="来源不明,请您通过授权网站访问我们.";
alert(sError);
location.href="about:blank";
}
}
</SCRIPT>
五、修改“内容页面”的<body>区域如下:
<BODY onload="fnLoad()">
<DIV CLASS=userData ID="oPersistDiv"></DIV>

从以上范例可看出,通过persistence的使用,使得普通的静态内容页面具有了session功能,一般的不敏感信息完全可以通过session保存在客户端。

另外,如果不明白persistence的使用,也可以这样,你的首页上有个form,用来提交用户名和密码。如果你把首页换成html页面,完全可以,不过要在其他地方接收用户名和密码(比如logon.jsp)。form的action设为logon.jsp。很简单。使用form的action来转移接受session的地方,首页就可以用静态了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
注册保险代理有限公司需要什么资料! 现在什么云手机性价比高一点? 50个可接双宾语的动词 为琵琶独奏曲《春江花月夜》配一首词或诗 我经常看到HI语音里会有什么魅力榜、贡献榜这些排名,我也一直在语音直播... 跨行通怎么激活 父母是农民不知道有没有纳税 普通农民可以算纳税人吗? 农民不交农业税了,是不是纳税人? 小红书上女生缺衣服穿的心情说说四十句 请问如何用jquery的ajax方法从数据库中取出数据来填充数组呢? 热轧等边角钢q235 36-40*3-5mm什么意思 角钢的型号、规格是怎样定的呢? 等边角钢的规格型号怎么写? 武汉医保卡网上查询密码忘记了怎么办? 武汉社保官网密码是什么样的 角钢钢材材质表 培训行业这么火,IT培训到底是不是坑 宝骏51019年高配还能买多少钱? 什么样的IT培训机构存在风险 角铁型号Q235B是什么意思 普通碳素等边角钢 50×5 gb706 q235b什么意思 IT培训机构的套路?哪个机构靠谱? 市面上的IT培训机构都值得去学吗?大家有没有知道的很垃圾的培训学校,准备学习了,想避免以下踩到雷 压力容器中等边角钢Q235B 的国家标准是什么 IT教育培训机构还有哪些坑 武汉社保的密码是什么 角钢 槽钢有q345吗 Q345B角钢哪里生产 钢结构Q345B薄L60*3.0代表什么意思? 女性健康最为主要的外观基础标识是什么? 女性的健康心理标准是什么? 身体健康的标志是什么? 女生身体不健康会有哪些表现 女性健康指哪些?女性健康需要重视吗? 子宫很健康,女性朋友,手上会出现哪些特征? 生理健康基本特征是什么 江苏高考是怎么排名的? 女性健康? 江苏省去年高考44000名大约是多少分? 湖南大学生2021江苏高考位次 江苏高考同分数怎么排名 2021年江苏省新高考计分方式下的录取分数线与旧计分方式下的录取分数线怎么换_百度问一问 2021江苏省新高考录取按所有省还是光按江苏省排名依次录取? 2021江苏省新高考录取按所有省还是光按江苏省排名 - 去提问? 江苏高考改革后,江苏2021高考文化总成绩如何组成? 黄瓜辣椒鸡蛋做法 OPPO的保修期是多长时间? 只要还有保修卡不管多长时间都可以保修吗? oppor15手机多长时间保修 辣味黄瓜炒鸡蛋怎么做