交互式网页开发技术成为现在网站开发的主流技术,最大的特点在于用户体验,现在流行的ajax(异步JavaScript和XML),就是其中的技术。由于25亿企业网站管理系统是用C#(asp.net)当前最主流的开发语言来开发的,所以我们这次着重讲解C#(asp.net)+javascript异步传输数据来加快您的网站。
以25亿企业网站管理系统中的源码作为实例深刻讲解C#(asp.net)+javacript异步传输数据来加快您的网站。
不知大家注意了没有,25亿企业网站管理系统前台所有页面全面是静态的html,静态的html页面要与页面交互,与数据库交互,这些要利用到的就是javascript来使现异步数据传输,静态html页面之间和数据库之间的交互。
我们先看25亿企业网站管理系统前台静态html页面多次需和数据库和动态代码交互的地方:
1,页面顶部的登陆注册区域
2,每个栏目内容的介绍页面都有一个点击次数区域
3,用户管理页面
4,在线应聘与在线留言
等等。
这些地方具体是怎么实现的呢?我一步一步来讲解:
首先,每一个页面都有一个公共的js(comm.js),此文件位置在javascript文件下。
C#(asp.net)+javascript异步传输数据主要用到的函数只有简单的以下二个:
//取得XMLHttp对象
function newXMLHttp()
{
var XMLHttp=null;
if (window.XMLHttpRequest)
{
XMLHttp=new XMLHttpRequest();
}
if(XMLHttp==null && window.ActiveXObject)
{
var clsids = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp.2.0","MSXML2.XMLHttp.1.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for(var i=0; i<clsids.length && XMLHttp == null; i++)
{
try
{
XMLHttp = new ActiveXObject(clsids[i]);
}
catch(e)
{}
}
}
return XMLHttp;
}
//POST页面
function postHTML(URL,data,func)
{
try
{
var XMLHttp=newXMLHttp();
//同步调用
if(typeof(func)!="function")
{
XMLHttp.open("POST",URL, false);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
XMLHttp.send(data);
var result = XMLHttp.status;
var responseText=XMLHttp.responseText;
if(result==200)
{
return responseText;
}
else
{
return false;
}
}
//异步调用
else
{
XMLHttp.onreadystatechange = function()
{
if (XMLHttp.readyState == 4)
{
if (XMLHttp.status == 200)
{
var responseText = XMLHttp.responseText ;
func(responseText);
}
else
{
func(false);
}
}
}
XMLHttp.open("POST",URL, true);
XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
XMLHttp.send(data);
}
}
catch(e){}
}
这些函数已经封装于comm.js文件中,如果对这些代码似懂非懂的话,也不必太在意,我们只管如何进行调用就行。
如在25亿企业网站管理系统中的前台静态html页面的点击次数的调用:
<span id="divclicknum"></span>//显示点击次数
<script type="text/javascript">//显示点击次数调用的js代码
window.setInterval(clicknum,1000);//一秒调用clicknum函数一次,以便实时正确的显示点击次数
function clicknum()
{
var remark="NewsId=22"; //参数
var sendData="itemtype=2&remark="+remark+"" //参数
var result=postHTML("../../include/click.aspx", sendData, function(result){receive_CallBack(result) }); 调用posthtml进行异步传输(获取动态页面include/click.aspx输出的内容)'click.aspx'页面代码可直接在25亿企业网站管理系统中查看。
}
function receive_CallBack(result)
{
if (result == false) { return; }
document.getElementById('divclicknum').innerHTML=result;(把include/click.aspx输出的内容显示到id为divclicknum上,既点击次数。
}
</script>
至此整个#(asp.net)+javascript异步传输数据来加快您的网站过程完成,如有不懂的请到25亿企业网站管理系统官方站技术社区进行提问。