創作內容

1 GP

利用javascript的物件功能做ajax

作者:カゲオ│2008-05-09 14:35:58│巴幣:0│人氣:454
最近工作的關係接觸到ajax技術
不過實際運用時才發現問題還是很多
像是寫好一個之後如果再弄第二個時
第一個會掛掉...(後來發現是因為被第二個搶走了...所以第一個只執行一半)

接下為了解決這個問
試了很久
總是無法共用
最後得到的結論是....要就每一個功能區就寫一個程式碼
但是會造成有一堆javascript的程式
且都是相同的東西

不然就是後來想到的辦法....
物件化
要用的時候就new 一個物件出來用
而光是為了做這個物件也花了我很多時間...(最後才知道...打錯字了...orz)
最後完成的程式如下:

<script language="javascript">
function ajax(){
var xmlHttp;
var divid;

var createXMLHttp = function(){
if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}

var createQueryString = function(num,cnum){
return "num=" + num + "&cnum=" + cnum;
}

this.top_listCase = function(num,url,divName,cnum){
createXMLHttp();
divid = divName;
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 1){
document.getElementById(divid).innerHTML = "讀取資料中...";
}
else if (xmlHttp.readyState == 2){
document.getElementById(divid).innerHTML = "資料下載完成,處理中...";
}
else if (xmlHttp.readyState == 3){
document.getElementById(divid).innerHTML = "資訊交換中...";
}
else if (xmlHttp.readyState == 4){
if (xmlHttp.status == 200){
document.getElementById(divid).innerHTML = xmlHttp.responseText;
}
}
};
xmlHttp.open("POST", url);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(createQueryString(num,cnum));
};
}
</script>

之後只要new 出新物件出來
再執行top_listCase("xxx","yyy.zzz","eeee","fff")
就可以弄出ajax的效果了

事後才發現到這個地方
fff這個值是我網站在用的
一般可以刪除
當然了,如果你有很多變數要傳的話可以從這邊新增值來傳

剛好也可以用這邊的空間來存放一下我的程式碼....
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=660047
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:|javascript|ajax|

留言共 2 篇留言

不錯唷
看不懂 (-.-")

05-09 15:04

カゲオ
第一...要會javascript
第二...要知道ajax
第三...要了解javascript的物件是什麼

而這個物件只要new出來後就可以用了
所要傳的值為(功能分類的值,路徑,<div>的id名稱,顯示方式)
功能分類的值:
如果有二個或以上的ajax要用時設定1是第一個功能,2是第二個功能....
路徑:
送到後方所要處理的網頁,像我的就是php檔來處理要顯示的網頁
div的名稱:
就是要顯示從後方送出來的內容div的id值
顯示方式:
這是我的網頁有分二種顯示方式所設定用的
當成是變數就可以了

05-09 15:50

我要留言提醒:您尚未登入,請先登入再留言

1喜歡★itsubasa 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:FireFox 3 Be... 後一篇:用javascript做...

追蹤私訊切換新版閱覽

作品資料夾

colanncolann
想找發明、小說、繪圖、漫畫、動畫、配音、音樂、模型的創作者們,一起交流、交友、交往! >.0看更多我要大聲說昨天22:50


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】