当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 很简单的javascript函数不刷新页面---刷新数据

Javascript
JavaScript教程:浏览器对象层次及其主要作用
JavaScript教程:文档对象功能及其作用
JavaScript教程:JS对象系统的使用范例
JavaScript教程:窗口及输入输出
JavaScript教程:简单的输入、输出例子
JavaScript教程:JS窗口及输入输出范例
JavaScript教程:JavaScript窗体基础知识
JavaScript教程:JS窗体中的基本元素
JavaScript教程:用JS脚本实现Web页面信息交互范例
JavaScript教程:什么是框架?
JavaScript教程:如何访问框架?
JavaScript教程:用JS实现更复杂的交互范例
JavaScript静态页面值传递:URL篇
JavaScript静态页面值传递:Window.open篇
JavaScript静态页面值传递:Cookie篇
JavaScript中sort排序函数
JavaScript中splice数组函数
JavaScript中split字符串函数
JavaScript中small对象函数
JavaScript:世界上误解最深的语言

Javascript 中的 很简单的javascript函数不刷新页面---刷新数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 204 ::
收藏到网摘: n/a

--------------就是下面这个很简单的javascript函数SEND(STR,URL)----------------------

使用到的是XMLDOM和XMLHTTP对象.用这种技术的好处是:全JS控制,方便/简单,比RDS
或者remote好多了.(前提:服务器端和客户端都必须安装IE5或者更高版本)
function Send(Str,URL)
//STR参数是传入的XML数据,你也可以传入其他文本数据.
//不过这个函数需要服务器端处理之后返回XML数据,你也可以修改一下
//URL参数表示你所要处理数据的ASP文件地址
{
var Http = new ActiveXObject("Microsoft.XMLHTTP") //建立XMLHTTP对象
var Dom = new ActiveXObject("Microsoft.XMLDOM") //建立XMLDOM对象
Http.open("POST",URL,false)
//第一个参数的意思是,用"POST"方式发送数据.可以大到4MB,也可以换为"GET".只能256KB
//第2个参数的意思是数据发送到哪个文件处理
//第3个参数意思是同步或异步方式.TRUE为异步,FALSE为同步
Http.send(Str) //开始发送数据.............嘟嘟..
Dom.async=false //设置为同步方式获取数据
Dom.loadXML(Http.responseText)
//开始获取服务器端处理后返回的数据.我在这里设置必须为XML数据,否则出错.
//你也可以自己修改.使返回的是2进制或者记录集数据.................................
if(Dom.parseError.errorCode != 0) //检查是否发生获取数据时错误
{
delete(Http)
delete(Dom)
return(false)
}
else
{
var Back = Dom.documentElement.childNodes.item(0).text
//得到返回的XML数据,我这里假设处理程序只返回一行XML数据(一个节点)
delete(Http)
delete(Dom)
return(Back) //函数返回数据.......................结束
}
}


VAR CAT = Send("<用户资料><姓名>谢柠檬</姓名></用户资料>","VIVA.ASP";) //执行函数
IF(CAT == FALSE)
{
ALERT("对不起.处理程序返回的是FALSE.数据处理已经失败........")
}
ELSE
{
IF(EVAL(CAT))
{
ALERT("OK.数据已经发送成功.兼以处理完成!!!!!!")
}
ELSE
{
ALERT("对不起.处理程序返回的是FALSE.数据处理已经失败........")
}
}


VIVA.ASP:
ON ERROR RESUME NEXT
DIM BOBO
DIM MOMO
SET BOBO = SERVER.CREATEOBJECT("MICROSOFT.XMLDOM")
BOBO.ASYNC = FALSE
BOBO.LOAD REQUEST
IF BOBO.PARSEERROR.ERRORCODE <> 0 THEN
RESPONSE.WRITE("<程序处理结果><最终结果>FALSE</最终结果></程序处理结果>")
ELSE
SET MOMO = BOBO.DOCUMENTELEMENT
IF MOMO.CHILDNODES.ITEM(0).TEXT = "谢柠檬" THEN
RESPONSE.WRITE("<程序处理结果><最终结果>TRUE</最终结果></程序处理结果>")
ELSE
RESPONSE.WRITE("<程序处理结果><最终结果>FALSE</最终结果></程序处理结果>")
END IF
END IF
SET BOBO = NOTHING