当前位置: 首页 > 图文教程 > 网络编程 > ASP > Ajax+ASP和Flash+ASP数据读取取方法有些相似的实现方法

ASP
ASP正则表达式技巧
ASP Access实现网站计数器(访问量)
ASP新闻分页,将一篇过长的文章分页,生成静态页面
一些关于asp 购物车的想法
一个sql查询器,自动画表格填字段
ASP实现文件直接下载的代码
把网页中的(电话,qq等数字)生成图片的ASP程序
asp长文章用分页符来分页显示
Asp函数介紹(37个常用函数)
ASP中的面向对象类
分页实现方法的性能比较
asp ajax跨域提交数据
asp修改文件和文件夹的名字的代码
ASP 多关键词查询实例代码
asp被杀毒软件误删的解决方法
asp 多关键词搜索的简单实现方法
asp 根据IP地址自动判断转向分站的代码
asp dictionary对象的用法
ASP 千万级数据分页的存储过程
ASP隐藏真实文件的下载功能实现代码

Ajax+ASP和Flash+ASP数据读取取方法有些相似的实现方法


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

Ajax+ASP和Flash+ASP数据存取方法
两种数据存取方法差不多。
===============================
下面是一个ChatRoom的Ajax部分代码:
var ajaxHttpRequest = false;
function ajaxInit() {
if(window.XMLHttpRequest) { //Mozilla, Opera, ...
ajaxHttpRequest = new XMLHttpRequest();
if(ajaxHttpRequest.overrideMimeType) {
ajaxHttpRequest.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject) { //IE
try{
ajaxHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try{
ajaxHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
}
}
}
if(!ajaxHttpRequest) {
window.alert("不能创建XMLHttpRequest对象实例");
return false;
}
}

function ajaxSendPost(url, values, processRequest) {
ajaxHttpRequest.open("POST",url,true);
ajaxHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajaxHttpRequest.send(values);
ajaxHttpRequest.onreadystatechange = processRequest;
}
/*
function ajaxSendGet(url) {
ajaxHttpRequest.open("GET",url,true);
ajaxHttpRequest.send(null);
ajaxHttpRequest.onreadystatechange = processRequest;
}
*/
ajaxInit();

var sound = false;
var isMove = true;

function send() {
var msg=escape((document.getElementById("msg")).value); //escape解决Ajax中文筹码问题
if(msg=="") {
setSuggest("请输入内容");
}
else {
var color = document.getElementById("selectColor").value;
var values = "msg=" + msg + "&color=" + color;
ajaxSendPost("process.asp", values, processSendRequest);
document.getElementById("msg").value = "";
document.getElementById("msg").focus();
}
}

function processSendRequest() {
if(ajaxHttpRequest.readyState==4) {
if(ajaxHttpRequest.status==200) {
if(ajaxHttpRequest.responseText!="") {
var chatContent = document.getElementById("chat_content");
var msgDiv = document.createElement("div");
msgDiv.innerHTML = ajaxHttpRequest.responseText;
chatContent.appendChild(msgDiv);
sound = true;
}
}
else {
setSuggest("您请求的页面有异常");
//alert("您请求的页面有异常");
}
}
}

function getAllMsg() {
setSuggest(" ");
ajaxSendPost("process.asp","",processSendRequest);
if(sound) {
setSuggest("<embed type=\"application/x-mplayer2\" src=\"sound/message.wav\"

autostart=\"true\" loop=\"false\" height=0 width=0 /> ");
sound=false;
}
}

function IamComing() {
ajaxSendPost("iamcoming.asp", "", processSendRequest);
(document.getElementById("msg")).focus();
}

function showOnline() {
ajaxSendPost("showOnline.asp", "", processShowOnline);
}

function processShowOnline() {
if(ajaxHttpRequest.readyState==4) {
if(ajaxHttpRequest.status==200) {
if(isFinite(ajaxHttpRequest.responseText)) {
document.getElementById("online").innerHTML =

ajaxHttpRequest.responseText;
}
}
}
}
=================================
下面是我一个Flash留言的数据读取的部分代码: http://www.linjimu.com.cn/Flash
ls = new LoadVars();
ls.Action = "Read";
ls.CurrentPage = _root.CurrentPage;
//ls load and send ,ld load result;
ld = new LoadVars();
ls.sendAndLoad("Advice.asp", ld, "post");
_root.gotoAndPlay("Wait");
_root.WaitBtText = "返回留言";
_root.Frame = "Send";
_root.TextMessage.text = "\n 正在读取留言数据...\n\n 请稍后...";
ld.onLoad = function(ok) {
if (ok) {
if (this.message == "OK") {
_root.gotoAndPlay("ListView");
} else {
_root.gotoAndPlay("Wait");
_root.WaitBtText = "返回留言";
_root.Frame = "Send";
_root.TextMessage.text = " 读取数据不成功!\n\n 可能发生以下错误:\n 1.

读取数据超时,请稍后再试.\n 2.空间不支持ASP."+this.message;
}
} else {
_root.gotoAndPlay("Wait");
_root.WaitBtText = "返回留言";
_root.Frame = "Send";
_root.TextMessage.text = " 读取数据不成功!\n\n 可能发生以下错误:\n 1.读取数据

超时,请稍后再试.\n 2.空间不支持ASP.";
}
};
delete ls;
stop();
================
相比一下,他们都有相似之处:
AJax:
ajaxHttpRequest.open("POST",url,true);//发送数据的方法,类型,url地址..
ajaxHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajaxHttpRequest.send(values);//发送数据
ajaxHttpRequest.onreadystatechange = processRequest; //processRequest是一个过程函数,对返回数据的

处理。
--------
Flash:
ls = new LoadVars();
ls.Action = "Read";//是发送数据
ls.CurrentPage = _root.CurrentPage;//是发送数据
//ls load and send ,ld load result;
ld = new LoadVars();
ls.sendAndLoad("Advice.asp", ld, "post");//发送数据的方法,类型,url地址..
ld.onLoad = function(ok) {//code...} //也是一个过程函数,对返回数据的处理。

不过,在web方面,Ajax的页面完全基于HTML,文本网页会更有利于搜索引擎的搜索。
Flash开发人员还是偏重图形、动画设计,Flash能够更容易的调用浏览器以外的外部资源。比如摄像头、麦克风等。然而这是普通的HTML无法完成的。

他们的关系请去baidu一下:flash与AJAX http://www.baidu.com/s?wd=flash+ajax