Ajax应用需要注意的事项

  接触Ajax,那时候的Ajax支持还不是很好,都要涉及底层,没有现成的框架给你调用。现在把常见的问题列举如下。

  1、编码问题

  注意AJAX要取的文件是UTF-8编码的。GB2312编码传回BROWSE后中文会乱码。如果用VBScript的话还可以转化,但是VBScript只有IE支持。

  所以,选择UTF-8编码是一劳永逸的办法。

  2、清除服务器端文件的缓存。

  当用XMLHTTP取回一个服务器端的文件,文件会缓存在浏览器端。下次再取文件时,不会再去服务器取文件。所以,对于刷新频繁的文件,一定要指定文件的过期时间。

  3、什么时候使用XML

  Ajax里的X指的就是XML,可是真的XML就是最好的解决方案吗?XML和JSON相比,在传递同等量的信息时,XML文件更大。所以往往JSON是更好的选择。不过,你还可以直接输出Javascript执行,这样的效率往往更高:不需要写复杂的回调函数。不过安全问题也要更加注意。health.hljmlyfcyy.com

  4、两种Ajax的方式

  一些人的基础可能还不是很扎实,并不非常了解Ajax的原理,那你知道Ajax由哪两种方式来实现吗?

  最古老的一种是iframe来加载一个包含js的网页,这个网页里的脚本用 top.function来调用parent页面里的函数。但是,你可以指定a的target和form的target,这样就不用序列化表单,实际上能很方便地发送表单。当然后期就稍微有点麻烦,出现问题也不容易解决。

  后来就是xmlhttp组件的方式。什么时候挑选什么方式,这也是一种技巧。

  5、跨域问题

  如果一个脚本不在同一个域,两者就不能相互调用。如果iframe里是其他域的网页,就不能访问parent页的具体内容。如果需要访问远程的XML,比如RSS FEED,建议可以用服务器端脚本来中转。在访问量不是非常大的情况下还是很很好的一个解决办法。不过,翻阅JQuery手册发现它能调用(执行)跨域的脚本,具体怎么做的还不是很清楚。大家可以下载JQUERY未加密的版本来研究下。

  6、安全问题

  在服务器端,虽然客户端能预处理很多东西,你仍要注意一句话:一切来自客户端的变量都是有害的。不在Ajax的情况下很多程序员往往会放松警惕。这使得安全问题更隐蔽。如果是开源程序的话那么问题就会在网友面前马上暴露出来;黑盒的情况下,往往被入侵了还是找不出原因。rl.hrbfc120.com

  结语:实际上在这个框架横行的年代直接编写Ajax实现代码的机会并不多,很多JS框架都集成了AJAX调用函数,一些服务器端的框架,例如THINKPHP也集成了AJAX。但是,理解一些底层的东西,还是有利于排除BUG,提高AJAX应用的性能的。

时间: 2024-10-21 16:03:17

Ajax应用需要注意的事项的相关文章

springMVC中ajax的运用于注意事项

ajax的运用: 注意事项: dataType:"json"在ajax中可写可不写(ajax能够自动识别返回值类型),写了更加规范,可以在ajax识别错误返回值类型的时候,指定返回值类型从而不出错. 类方法上一定要写上@ResponseBody注解,可以直接将返回的数据写入响应文本中.多用在ajax异步处理请求的时候. AppUtil.returnObject(new PageData(),pd); 这里的pd换为map也可以. AppUtil.returnObject(pd,map)

jquery 的ajax请求示例和注意事项

最近很多人问我ajax该怎么用,怎么访问后台,怎么取得数据页面显示 写一个简单的ajax访问: $.ajax({ url: ctx +"/meeting/getMeetingRoomMap",   //请求后台地址 type:"get",     //请求方式 cache:false,    //控制是否缓存数据(post请求默认false,而get请求会为true,容易造成页面数据缓存问题) async:false,    //控制同步还是异步 data:{sch

myeclipse项目重新编译失败:清理项目缓存

1.项目清理: 选择菜单栏的Project——>Clean..——>勾选需要清理的项目(也可以选择all) 切记:clean了项目,需要重新编译 2.项目如果是maven项目,则有时候clean project并不起效.这时候需要用maven来清理缓存:右键项目——>Run As ——> Maven clean 切记:此方法清除后,需要重新进行maven编译,可以使用Maven——>Update  Project   或者 自定义的 Maven build 3.如果是以上两个

.NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理

通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性. ASP.NET Core 中包含管理身份验证.授权.数据保护.SSL 强制.应用机密.请求防伪保护及 CORS 管理等等安全方面的处理. 通过这些安全功能,可以生成安全可靠的 ASP.NET Core 应用.而我们这一章就来说道说道如何在ASP.NET Core中处理"跨站请求伪造(XSRF/CSRF)攻击"的,希望对大家有所帮助! 本文已收录至<.NET Core实战项目之CMS 第一章 入门篇-开篇及总体

Hbuilder用ajax连接阿里服务器上的servlet以及注意事项

Hbuiler连接服务器上的servlet的步骤与连接本地项目中的servlet基本一致,详细内容参考上一片博客:https://www.cnblogs.com/ljysy/p/10294640.html 需要将上篇博客中的ajax请求中的ip地址写成自己阿里服务器的相应的ip地址即可 在本片博客中主要是简述一些注意事项 要先在本地测试项目,可以用Hbuider正确访问,然后将本地项目导出一个war包,上传至阿里服务器的tomcat安装目录的webapps目录下(当然,需要事先安装好tomcat

jquery用Ajax中的回调函数时注意事项

前端代码 <script language="javascript" type="text/javascript" src="<?php echo base_url();?>/js/jquery-1.7.2.min.js"></script> <script> function add_ip(bip,eip,area_id) { var action = "<?php echo si

Ajax 应用六个需要注意的事项

接触Ajax,那时候的Ajax支持还不是很好,都要涉及底层,没有现成的框架给你调用.现在把常见的问题列举如下.1.编码问题注意AJAX要取的文件是UTF-8编码的.GB2312编码传回BROWSE后中文会乱码.如果用VBScript的话还可以转化,但是VBScript只有IE支持.所以,选择UTF-8编码是一劳永逸的办法. 2.清除服务器端文件的缓存.当用XMLHTTP取回一个服务器端的文件,文件会缓存在浏览器端.下次再取文件时,不会再去服务器取文件.所以,对于刷新频繁的文件,一定要指定文件的过

jquery的ajax与spring mvc对接注意事项

昨天一直纠结这么一个问题,应用场景是这样的: 这里登陆是通过jquery的ajax传输数据到后台controller类相应的映射mapping接收.本来是想,在后台验证成功之后返回一个视图modelAndView.但是却不曾想到有这么一个问题,就是不管你怎么返回,前台就是不跳转页面.这里牵扯到一个很重要的问题.先来看看我前端ajax发送登陆请求的代码: <script type="text/javascript"> $(function() { $('#submitLogi

Ajax跨域 取值 Jsonp的定义注意事项

今天要做一个去之前的项目上取数据,打算建一个接口,WebServer.中间遇到了一些问题.就是跨域取值的问题 客户端页面 1.首先Ajax请求的DataTy:'jsonp'这种格式,还要加一个 jsonp: "callback",最为主要的是有一个 回调函数Callback(),可把我折腾坏了.直接上客户端代码: <script type="text/javascript"> $(function () { $.ajax({ type: "GE