Ajax使用杂谈 也许也是乱弹

 更新时间:2010年05月14日 12:33:48   作者:  
Google Suggest 和Google Map的出现,引起了我们Web开发者的一次震动。
随着Ajax技术的出现、盛行,本被忽视认为是二流编程语言的JavaScript脚本也开始了新的盛行,大量的JavaScript框架的出现如Microsoft Asp.Net Ajax、jQuery等。Ajax已经成为这些脚本框架必不可少的组成部分了,而且Ajax的开发也越来越简单化。

Ajax是一种已不是加载脚本,其最古老的实现方式是利用iframe来加载远程的脚本利用top.Function来调用父窗体的方法。利用a等HTML的target属性来指定。简单但是后期维护复杂化了并且在跨越方面很麻烦。接着就XMLHttpRequest对象的出现,一定程度的简化了Ajax的开发,但是在不同的浏览器中实现有很多大不同,FireFox中XMLHttpRequest和IE中的ActiveObject等方式,以及它仅提供了很少和简单的Ajax请求和处理。在现在出现了很多的JavaScript框架,在基于XMLHttpRequest的封装和类库的提供,极大的简化了我们的Ajax编程。其中最为出名和盛行的jQuery框架。这里需说出的是jQuery很好实现了跨域问题。

下面我就说几点自己目前想到的Ajax注意或者技巧,思维也许有点乱,请谅解,将的不好,也请原谅。

1:Ajax中的X是XML,它也可以很方便的加载XML,但是我个人觉得架子啊XML是个很不好的方式。首先大家都知道XML是一种严格的数据存储方式,有很多冗余信息。再则XML的处理也有一定的复杂性。XML能实现跨平台性,如WebService,这是WebService的优点,但是也是一个致命的缺点,它基于的XML冗余信息,所以在分布式中速度也是很慢的。

相比而言Json对象是一个轻量级的存储方式,它是以名值对的形式存储。而且JavaScript脚本本身就是一个天然的Json对象,无需转化,可以直接使用,并且现在.NET框架中提供了对Json序列化的支持.我个人观点是首选Json。

2:在服务器端为了性能等的考虑经常会有缓存,以及浏览器的缓存。有时我们需要避免,最简单的方式是加上一个时间戳,"Default.aspx?time=” + DateTime.Now。就可以避免缓存。如果你用的是Jquery的Ajax那可以直接设置cache:false禁用缓存。

3:在Ajax编程需要注意的是Content-Type,有HTML、Text、Json、XML、Script等方式。我们很多的无故的错误经常就在这里的设置。需要注意Ajax的Content-Type,以及服务端输出的Content-Type。还有就是服务器端,我们要输出前的Response.Clear(),Response.ContentType=Type,以及完成时的Response.Flush()和Response.Clos()。

4:Ajax并不是高交互、高用户体验的代表,这需要说明。我们的应用不该首选Ajax技术,因为如果Ajax技术用的不是很好,那反而会适得其反。还有就是如果要用Ajax,那我们就必须为客户准备退路,因为ajax请求很可以由于各种原因而出错。

5:Ajax必究是基于客户端脚本,这就意味在存在一定的安全隐患,很容易暴露我们的某些敏感信息。特别是网上的脚本代码糜烂,我们有些人经常会在网上Copy下来仅仅测试下就加入了我们的项目,我觉得这是一个很不好的习惯。很容易得不偿失。

时间已晚,就说这么多吧,如果你还有什么心得或建议请留言。如果你有不懂的疑问也可以留言,我会尽力和尽快回复。

相关文章

  • ajax和jsonp跨域的原理本质详解

    ajax和jsonp跨域的原理本质详解

    跨域问题是我们在开发中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于ajax和jsonp跨域的原理本质,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • 使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决

    使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决

    这篇文章主要介绍了使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决的相关资料,需要的朋友可以参考下
    2015-10-10
  • Ajax对缓存的处理方法实例分析

    Ajax对缓存的处理方法实例分析

    这篇文章主要介绍了Ajax对缓存的处理方法,简单描述了缓存的功能,并结合实例形式分析了禁止浏览器对动态程序文件缓存的实现方法,需要的朋友可以参考下
    2019-07-07
  • jquery ajax实现文件上传功能实例代码

    jquery ajax实现文件上传功能实例代码

    这篇文章主要介绍了jquery ajax实现文件拖拽上传功能的实例代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • jQuery Ajax的readyState和status的区别和使用详解

    jQuery Ajax的readyState和status的区别和使用详解

    在前几篇分析了jquery的ajax异步和同步,以及异常的一些处理,感觉还没有把ajax的readyState和status说清楚.今天就来说说ajax状态的那点事,非常不错,对ajax readystate和status区别和使用感兴趣的朋友一起学习吧
    2017-03-03
  • 全面解析Ajax综合应用(全)

    全面解析Ajax综合应用(全)

    AJAX = 异步 JavaScript 和 XML,AJAX 是一种用于创建快速动态网页的技术。本文给大家带来了全面解析Ajax综合应用大全,非常不错具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-06-06
  • ajax设置async校验用户名是否存在的实现方法

    ajax设置async校验用户名是否存在的实现方法

    下面小编就为大家带来一篇ajax设置async校验用户名是否存在的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Ajax叠加(Ajax返回数据用Ajax发出)示例代码

    Ajax叠加(Ajax返回数据用Ajax发出)示例代码

    把参数用Ajax发送到数据库进行查询然后用Ajax将数据发送到数据库签到表,于是有了下面的代码,感兴趣的朋友可以了解下,希望对大家学习ajax有所帮助
    2013-08-08
  • JQuery的ajax的用法在asp中使用$.ajax()实现

    JQuery的ajax的用法在asp中使用$.ajax()实现

    ajax的出现解决了很多的疑难问题,同时带来了很多的方便,本文讲述一下JQuery的ajax的用法在asp中使用$.ajax()来表示,感兴趣的朋友可以了解下,或许本文对你有所帮助
    2013-01-01
  • Ajax 实现加载进度条

    Ajax 实现加载进度条

    本文给大家介绍ajax实现加载进度条效果,非常不错,具有参考借鉴价值,需要的朋友参考下
    2016-12-12

最新评论