AJAX急速狂飆:開發www.99scj.com體驗(1)
來源:互聯網
上載者:User
ajax 借用了梅花兄的一個慣用語:急速狂飆.
首先我來說說對ajax.net和atlas的比較吧!免得朋友們在一些方面犯和我同樣的錯誤,當然,這也僅僅代表了我的體會和個人觀點
1,如果你是使用forms驗證,在一個未容許的頁面會出現js名字空間未定義的錯誤,這對於ajax.net還是atlas來說都是一樣的,解決辦法是先容許所有使用者,再單獨在web.config裡面設定許可權
2,在速度,效能,穩定性上面atlas稍微比ajax.net勝一籌.
3,ajax.net支援同步傳輸資料,也支援非同步傳輸資料,但是atlas只支援非同步傳輸資料,所以你如果想控制js代碼的流程的話ajax.net比atlas要強,但是ajax.net 在非同步傳輸上有個特點,不容許在同一時間多次調用同一伺服器類,我的解決辦法是另外寫個類
4,ajax.net和atlas都能夠從伺服器返回個DataTable,但是在用戶端接收的方法不同,下面是一個小例子,假設var dt =伺服器返回的DataTable
對於ajax.net 的方法是:
if(dt.Rows.length>0)
{
a.style.display="";
a.innerHTML="";
for(var row=0;row<dt.Rows.length;row++)
{
var cur = dt.Rows[row];
a.innerHTML+="<li><a href='javascript:void(0)' type="+cur.this_url+" id="+cur.this_id+" >"+cur.this_title+"</a></li>";
document.getElementById("pageIndexTd").innerHTML=" ";
}
}
在ajax中取得伺服器返回的datatable的 行數是dt.Rows.length,但是atlas是dt.get_length()
在ajax.net中得到某一行是dt.Rows[i],而atlas是dt.getItem(i)
在ajax.net中得到某行某列是dt.Rows[i].title,其中 title是列名,而atlas是dt.getItem(i).getProperty("title"),其中title是列名