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

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

(0)

相关推荐

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

    Ajax+ASP和Flash+ASP数据存取方法两种数据存取方法差不多.===============================下面是一个ChatRoom的Ajax部分代码:var ajaxHttpRequest = false;function ajaxInit() { if(window.XMLHttpRequest) { //Mozilla, Opera, ...  ajaxHttpRequest = new XMLHttpRequest();  if(ajaxHttpRequest

  • 利用js将ajax获取到的后台数据动态加载至网页中的方法

    动态生成二级菜单树: <script> jQuery(function($) { /********** 获取未处理报警信息总数 **************/ var result; $.ajax({ async:false, cache:false, url: "alarm_findPageAlarm.do",//访问后台接口取数据 // dataType : "json", type: 'POST', success: function(data)

  • Python数据抓取爬虫代理防封IP方法

    爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息,一般来说,Python爬虫程序很多时候都要使用(飞猪IP)代理的IP地址来爬取程序,但是默认的urlopen是无法使用代理的IP的,我就来分享一下Python爬虫怎样使用代理IP的经验.(推荐飞猪代理IP注册可免费使用,浏览器搜索可找到) 1.划重点,小编我用的是Python3哦,所以要导入urllib的request,然后我们调用ProxyHandler,它可以接收代理IP的参数.代理可以根据自己需要选择,当然免费的也是有

  • ASP.NET技巧:数据岛出到Excel最为简易的方法

    只需将ContentType 设置为 "application/vnd.ms-excel",表示以Excel方式输出.代码如下:DataToExcel.aspx:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataToExcel.aspx.cs" Inherits="DataToExcel" %> <html xmlns=

  • 在Ajax中使用Flash实现跨域数据读取的实现方法

    Ajax的跨域操作一直是一个难题,现目前主要的解决方法主要有: 1.JSONP(需要在服务器端支持) 2.IFrame(仅能在子域间操作) 3.页面代理(这个有点万能) 4.Access-Control-Allow-Origin(新版浏览器支持,需要在服务器端设置Header) 今天,小子再提供一种使用Flash进行跨域操作的方法.众所周之,其实Flash的跨域操作也是有限制的,不过,Flash的跨域配置比简单,只需要在站点根目录下放置crossdomain.xml即可.至于crossdomai

  • 如何解决ASP.NET新增时多字段取值的问题

    ASP.NET 开发人员在卡发时经常会碰到一个情况,就是新增的页面中字段太多,在点击保存的时候需要一个一个的赋值实体或者构建SQL语句去保存.这样不仅浪费体力还需要占用大量的文本行控件去写代码.经过构思是否可以使用一种更方便的办法去解决呢?提高代码的内聚性. 1.思路 我们知道一般新增页面最多的就是一大堆文本框让用户输入内容,然后点击保存按钮进行提交将数据持久化到数据库. 在点击提交的时候传统方式就是一个一个文本框的读取赋值. HTML代码如下: <asp:TextBox ID="Text

  • asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法

    本文实例讲述了asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法.分享给大家供大家参考,具体如下: string strxml = "<xml><m><a>1</a><b>2</b></m><m><a>11</a><b>22</b></m><m><a>111</a><

  • asp.net导出excel数据的常见方法汇总

    本文实例讲述了asp.net中一些常用的excel数据导出方法,同时也介绍了在数据导入或导出时可能碰到的一些问题总结,分享给大家供大家参考.希望文章对你会有所帮助.具体实现方法如下: 1.由dataset生成 复制代码 代码如下: public void CreateExcel(DataSet ds,string typeid,string FileName)    {    HttpResponse resp;    resp = Page.Response;    resp.ContentE

  • ASP.NET中读取XML文件信息的4种方法与示例代码

    方法一 :使用XML控件 <% @ Page Language="C#"%> <html> <body>          <h3><font face="Verdana">读取XML方法一</font></h3>        <from runat=server>         <asp:Xml id="xml1" DocumentSour

  • ASP.NET页面间数据传递的几种方法介绍

    Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合. 一.ASP.NET页面间数据传递的各种方法和分析 1.使用Querystring 方法 QueryString 也叫查询字

随机推荐