关AJAX的一些东西
2008-09-27 22:53
351 查看
这两天整理了一下,以前收集的一些源码。在其中发现了一个非常华丽的留言板。因为其使用了AJAX页面不需要全部刷新,感觉特别的好。
在看了一些原代码后终于明白了它的原理。原来它是在后台给服务器发信息来得到数据局部刷新面页的。页得到数据时特意使用了第三个页,自己构建回发的信息。
不得不说它使我对我在理解JAVA上有很大帮助。下面的是一些代码:
是利用JAVASCRIPT脚本来替换当前的代码.
function echo(obj,html)
{
$(obj).innerHTML=html;
}
function getdata(msg,url,obj,initJs)
{
var xmlhttp=createxmlhttp();
if(!xmlhttp)
{
alert("你的浏览器不支持XMLHTTP!!");
return;
}
xmlhttp.onreadystatechange=requestdata;
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("If-Modified-Since","0");
xmlhttp.send(null);
function requestdata()
{
showSysMsg(msg,"open");
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
echo(obj,xmlhttp.responseText);
showSysMsg("","close");
if(initJs!="")
{
getDataInit(initJs);
}
backDivTop();
}
}
}
}
这是在自己构建一个反回数据,这个方法有点繁琐
public string GetHeadEdit()
{
string HeadEditHtml = "";
string startValue = "";
string id = Request.QueryString["id"];
if (!clsFct.IsNumber(id) || id.CompareTo("")==0)
{
return clsFct.errorMsg("警告!禁止输入非法数据。");
}
string StrSql = "Select * From book where id=" + id;
OleDbConnection MyConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath(g_StrConn));
try
{
MyConn.Open();
OleDbDataAdapter odAdapt = new OleDbDataAdapter(StrSql, MyConn);
DataSet DS = new DataSet();
odAdapt.Fill(DS);
DataTable DT = DS.Tables[0];
startValue = DT.Rows[0]["head"].ToString().Trim();
MyConn.Close();
}
catch
{
Response.Write(clsFct.errorMsg("数据库连接失败,请重试!"));
Response.End();
}
HeadEditHtml = HeadEditHtml + "<input name='msgHead" + id + "' type='text' size='30' maxlength='28' onblur=if(checkSpace('msgHead" + id + "')){showHint('hintHead" + id + "','R')}else{showHint('hintHead" + id + "','W')} style='white-space:pre;' value=/"";
HeadEditHtml = HeadEditHtml + clsFct.Keep(startValue,1);
HeadEditHtml = HeadEditHtml + "/" />";
HeadEditHtml = HeadEditHtml + "<span class='font_12'> <b id='hintHead" + id + "' style='font-size:14px; color:Red;'></b></span>";
return HeadEditHtml;
}
此外还可以像这样使用
<link id="cssStyle" rel="stylesheet" type="text/css" />
以后就可以在脚本用cssStyle来收用它了,这样更简单化了对于CSS样式表的更改了。
在看了一些原代码后终于明白了它的原理。原来它是在后台给服务器发信息来得到数据局部刷新面页的。页得到数据时特意使用了第三个页,自己构建回发的信息。
不得不说它使我对我在理解JAVA上有很大帮助。下面的是一些代码:
是利用JAVASCRIPT脚本来替换当前的代码.
function echo(obj,html)
{
$(obj).innerHTML=html;
}
function getdata(msg,url,obj,initJs)
{
var xmlhttp=createxmlhttp();
if(!xmlhttp)
{
alert("你的浏览器不支持XMLHTTP!!");
return;
}
xmlhttp.onreadystatechange=requestdata;
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("If-Modified-Since","0");
xmlhttp.send(null);
function requestdata()
{
showSysMsg(msg,"open");
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
echo(obj,xmlhttp.responseText);
showSysMsg("","close");
if(initJs!="")
{
getDataInit(initJs);
}
backDivTop();
}
}
}
}
这是在自己构建一个反回数据,这个方法有点繁琐
public string GetHeadEdit()
{
string HeadEditHtml = "";
string startValue = "";
string id = Request.QueryString["id"];
if (!clsFct.IsNumber(id) || id.CompareTo("")==0)
{
return clsFct.errorMsg("警告!禁止输入非法数据。");
}
string StrSql = "Select * From book where id=" + id;
OleDbConnection MyConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath(g_StrConn));
try
{
MyConn.Open();
OleDbDataAdapter odAdapt = new OleDbDataAdapter(StrSql, MyConn);
DataSet DS = new DataSet();
odAdapt.Fill(DS);
DataTable DT = DS.Tables[0];
startValue = DT.Rows[0]["head"].ToString().Trim();
MyConn.Close();
}
catch
{
Response.Write(clsFct.errorMsg("数据库连接失败,请重试!"));
Response.End();
}
HeadEditHtml = HeadEditHtml + "<input name='msgHead" + id + "' type='text' size='30' maxlength='28' onblur=if(checkSpace('msgHead" + id + "')){showHint('hintHead" + id + "','R')}else{showHint('hintHead" + id + "','W')} style='white-space:pre;' value=/"";
HeadEditHtml = HeadEditHtml + clsFct.Keep(startValue,1);
HeadEditHtml = HeadEditHtml + "/" />";
HeadEditHtml = HeadEditHtml + "<span class='font_12'> <b id='hintHead" + id + "' style='font-size:14px; color:Red;'></b></span>";
return HeadEditHtml;
}
此外还可以像这样使用
<link id="cssStyle" rel="stylesheet" type="text/css" />
以后就可以在脚本用cssStyle来收用它了,这样更简单化了对于CSS样式表的更改了。
相关文章推荐
- GUI(一) 一些自已看的东西
- 从lazyTableImages官方例子学到的一些东西
- C#/Visual Studio一些被遗忘的的东西(快捷键/C#语法) 64位IE插件开发
- 关于c语言的一些你不知道的东西 (位,static,struct)加速。
- 关于android的一些东西 7.24
- STL的一些东西
- Ext学习过程的一些错误(太基础的东西)
- python中结巴包的一些东西
- 计划翻译一些东西
- 一些HTML5的东西(DOM相关)
- C++学习笔记—类6-有关继承的一些东西
- 有关结构体的一些东西(自己总结的书上的)1
- 关于加密的一些东西
- 是该积累一些东西了,不然好多问题都要重复做
- ThreadLocal使用,Thread的start和run的区别,等一些琐碎的东西
- 做东西时遇到的一些问题以及解决方法~
- 关于.net的一些基本的东西
- 一些东西
- python常用的一些东西——sys、os
- Bind 一些有趣的东西 【未完待续】