使用Ajax时的十个常犯的错误

来源:互联网 发布:数据库管理员和程序员 编辑:程序博客网 时间:2024/04/19 05:53

======================================================
注:本文源代码点此下载
======================================================

看了dflying chen 介绍的一篇ajax的文章就像练练英语自己翻译一下,由于自己的水平有限,请大家批评指正

本文的作者是知名.net ajax框架ajax.net professional(ajaxpro)的作者michael schwarz

上个月我发现许多web2.0网站大量运用了ajax,但是其中有些很奇怪,因为他们的速度比起前慢了,并且有时候不起作用(在移动设备上),我总结了十条用ajax的错误(平台无关)

1、不要通过把整个页面都放在updatepanel中更新整个页面。在你运行网页时需要节省时间,不要更新那些可以用javascript and dhtml (dom)的部分。

2、要始终记得有这么几种访问者,他们不能用javascript或者用的版本比较老的浏览器或者他们对javascript支持不好,比如说移动设备。如果这些都不支持,你的访问者能看到什么?

3、在客户端浏览器缓存相同的请求或者在we服务器端执行缓存。最好的例子是自动完成个下拉菜单,他们的填充在任何时刻都是相同的,一个有错误写法的自动完成的写法可以减慢你的web服务器(数据库服务器),因为那样会有比起以前用ispostback更多地请求。想一下不停的按f5刷新你的网页的情形。如果你有层叠的下拉菜单你就会结算更多地请求。

4、在你运用css或javascript时,不要运行,并发的或者运行很长时间的ajax请求,一般的浏览器只能有两个并发的http连接(我知道可以给变这个,但是默认的还是设为两个)。如果在读取图片的时候由很多ajax请求的话,速度会变得很慢。

5、什么时候都用异步调用的方法发送xmlhttprequest.。如果你要用同步的方法也是没有请问题的,你的浏览器不会因为网络问题或是连接速度慢而冻结的

6、试着让你的web应用使用一个很慢的网络连接,再尝试用快的tcp/ip连接

7、你的web应用是作为桌面程序的替代品?你注意观察过一般浏览器在运行你的web应用一小时,两小时或者几天时内存的使用。不是所有人都有你那样好的机器。

8、检查在你返回xmlhttprequest时你的http请求状态代码(status code),那会有一些常见的网络错误像是不可获得的dns,http server error 500 ,你曾经检查过状态代码(status code),它可以告诉你浏览器在一个为连接的模式

9、试着禁止xmlhttprequest object!用ie7你能用native object代替activex object,但是你也可以禁止native object。

10、检查你ajax requests的安全性!你简单的打开了你的数据访问层吗?充分运用formsauthentication和principalpermissions。是不是任何人都可以建立一个请求(不只是点击一个链接)?


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/