Ajax+ASP和Flash+ASP資料讀取取方法有些相似的實現方法

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.