`
cakin24
  • 浏览: 1336303 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Ajax需要注意的几个问题

阅读更多
在应用Ajax时,需要注意安全问题、性能问题和浏览器兼容性问题,下面进行具体介绍。
一 安全问题
随着网络的普及,安全问题已经是一个不可忽略的重要问题了。由于Web本身就是不安全的,所以尽可能降低Ajax的安全风险就显得尤为重要了。Ajax应用主要面临以下安全问题。
l、JavaScript本身的安全性
虽然JavaScript的安全性已逐步提高,提供了很多受限功能,包括访问浏览器的历史记录、上传文件、改变菜单栏等。但是,当在Web浏览器中执行JavaScript代码时,用户允许任何人编写的代码运行在自己的机器上,这就为移动代码自动跨越网络来运行提供了方便条件,从而给网站带来了安全隐患。
为了解决这一潜在的危险,浏览器厂商在一个sandbox(沙箱)中执行JavaScript代码,沙箱是一个只能访问很少计算机资源的密闭环境,从而使Ajax应用不能读取或写入本地文件系统。虽然这会给程序开发带来困难,但时,它提高了客户端JavaScript的安全性。
2、数据在网络上传输的安全问题
当采用普通的HTTP请求时,请求参数的所有的代码都是以明码的方式在网络上传输的。对于一些不太重要的数据,采用普通的HTTP请求即可满足要求,但是如果涉及到特别机密的信息,这样做则是不行的,因为某些恶意的路由,则可能读取传输的内容。为了保证HTTP传输数据的安全,可以对传输的数据进行加密,这样即使被看到,危险也是不大的。虽然对传输的数据进行加密,可能会对服务器的性能有所降低,但对于敏感数据,以性能换取更高的安全,还是值得的。
3、客户端调用远程服务的安全问题
虽然Ajax允许客户端完成部分服务器的工作,并可以通过JavaScript来检查用户的权限,但是通过客户端脚本控制权限并不可取,一些解密高手可以轻松绕过JavaScript的权限检查,直接访问业务逻辑组件,从而对网站造成威胁。通常情况下,在Ajax应用中,应该将所有的Ajax请求都发送到控制器,由控制器负责检查调用者是否有访问资源的权限。
 
二 性能问题
由于Ajax将大量的计算从服务器移到了客户端,这就意味着浏览器将承受更大的负担,而不再是只负责简单的文档显示。由于Ajax的核心语言是JavaScript,而JavaScript并不以高性能知名。另外,JavaScript对象也不是轻量级的,特别是DOM元素耗费了大量的内存。因此,如何提高JavaScript代码的性能对于Ajax开发者来说尤为重要。下面介绍几种优化Ajax应用执行速度的方法。
l、尽量使用局部变量,而不使用全局变量。
2、优化for循环。
3、尽量少用eval,每使用eval都需要消耗大量的时间。
4、将DOM节点附加到文档上。
5、尽量减少点“.”号操作符的使用。
 
三 浏览器兼容性问题
Ajax使用了大量的JavaScript和Ajax引擎,而这些内容需要浏览器提供足够的支持。目前提供这些支持的浏览器主要分为两大类
一类是IE浏览器,在IE浏览器中,只有IE 5.0及以上版本才支持;
另一类是非IE浏览器,例如Firefox、Mozilla1.0、Savari1.2及以上版本。
虽然IE浏览器和非IE浏览器都支持Ajax,但是它们提供的创建XMLHttpRequest对象的方式是不一样,所以使用Ajax的程序必须测试针对各个浏览器的兼容性。
1
0
分享到:
评论

相关推荐

    ajax实现提交时校验表单方法

    本文实例为大家分享了ajax提交时校验表单的方法,供大家参考,具体内容如下 ... //几个参数需要注意一下 type: "POST",//方法类型 dataType: "json",//预期服务器返回的数据类型 url: "<%=path %>

    AJAX前台应用

    相对来说 JAVA中的AJAX应用相对较难一点 而且大多用于B/S开发 这里比较详细的介绍了其特点 用法 以及要注意的地方

    ASP.NET+AJAX实现进度条上传文件

    该程序采用了jquery框架,实现了小文件上传,不超过80Mb,可以在web.config文件中进行相应的配置,但是有个最大值,具体需要查看msdn,下一篇文章我将会实现大文件上传,下一篇文章估计得过段时间,因为接下来这几天...

    Ajax in Action 中文 pdf

    中文版的Ajax in Action,自己看看就知道了。不想写描述。原来没有注意名字写错了,先下的几个哥们不好意思。

    01-ajax-fetch-axios-区别.md

    大厂前端面试题目|# 前端基础知识 ...本章将通过多个面试题,讲解前端常考的基础知识面试题,同时复习一些重要的知识点。 ## 为何要考察 扎实的前端基础知识,是作为前端工程师的...列几个代表性的面试题,参考视频。

    大名鼎鼎的IBM公司 Ajax 培训资料

    这里没有特别需要注意的地方,真是好极了!您应该认识到这里并没有非常复杂的东西。只要掌握了 XMLHttpRequest,Ajax 应用程序的其他部分就是如 清单 2 所示的简单 JavaScript 代码了,混合有少 量的 HTML。同时,...

    AJAX 客户端响应速度提高分析

    理论上AJAX技术在很大的程度上...下面我们就来分析几个AJAX开发过程中需要时刻注意的环节。 合理的使用客户端编程和远程过程调用 客户端的编程主要都是基于JavaScript的。而JavaScript是一种解释型的编程语言,它的运行

    在实战中可能碰到的几种ajax请求方法详解

    最近在做一个针对单个节点测速的功能页面,测速的逻辑是,测上传速度时,前端传5m数据给server,记录上传和返回数据的时间,测下载速度时,从server下载1m的数据,记录下载和下载成功的时间,上传和下载用的是ajax...

    jQuery ajax调用webservice注意事项

    jquery ajax调用webservice(C#)要注意的几个事项: 1、web.config里需要配置2个地方 * path=*.asmx/> <add verb=* path=*.asmx validate=false type=System.Web.Script.Services.ScriptHandlerFactory, ...

    深入浅析Jsonp解决ajax跨域问题

    注意一点是,这里是用Jsonp解决ajax的跨域问题,具体的实现其实不是ajax。 1、同源策略 浏览器有一个很重要的概念——同源策略(Same-Origin Policy)。所谓同源是指,域名,协议,端口相同。不同源的客户端脚本...

    harmonyos2-cjax:用PHP构建的轻量级Ajax框架,没有占用空间。允许您使用单行代码构建ajax功能并在后端执行更多操作!

    注意:SourceForge 不再是官方下载位置。 说明/下载 新说明 您可以通过多种方式安装 Cjax,这里有几种方式: 旧的时尚方式: Download zip from git git克隆: git clone https://github.com/ajaxboy/cjax.git 底线...

    asp无组件上传类v0.98(无刷新ajax上传,可检查图片木马,支持多文件批量上传,utf-8版)

    asp无组件上传类v0.98(无刷新ajax...如果需要测试图片木马文件可以自己百度制作方法,按照教程做几个图片木马文件然后用本程序上传测试。 本程序由sysdzw提供。如有需技术支持可联系QQ:171977759 09:02 2018-08-13

    TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例

    本文实例讲述了TP5(thinkPHP5)...最近在用tp5开发企业微应用,很有收获,觉得最需要注意的是thinkphp5与前台之间数据传递和交互。经过几天的摸索,将调试通过的代码贴出,供需要的人参考。今天的分享是用TP5做一个表

    JQuery Ajax WebService传递参数的简单实例

    其中有几个细节问题开始没注意,费老劲才调通: 1)客户端data数据中的key字段名称必须和服务器端方法参数严格一致。 如客户端: //有参数调用 $(document).ready(function () { $("#btn2").click(fu

    ExtAspNet v3.1.0源码

    -你需要手动将那些没有任何项的单选框列表或者复选框列表的Visible属性设置false来解决这个问题。 -为了能够在Ajax中显示隐藏元素,请使用Hidden属性(而不是Visible)。 -使用Visible属性会导致不向浏览器输出这个...

    jquery 缓存问题的几个解决方法

    解决办法几个: 1.使用.ajax方法并设置 cache参数为false 代码如下: $.ajaxSetup ({ cache: false }); $(fucntion({ $.ajaxSetup ({ cache: false }); })) 在每次执行load方法前执行,注意不能设置为全局属性 可以...

    java+springboot+shiro

    springboot项目,shiro做登录认证,其中pom.xml中找shiro相关注解就行,建议搭建springboot环境小伙伴可以看看,包括加密算法,这几个类都有,但是实体类,service就由你来亲自写咯,注意的是,一定要前端注册。...

    php和mysqlweb开发中文第四版

    本书将PHP开发与MySQL应用相... 本书是第4版,经过了全面的更新、重写和扩展,包括PHP5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web2.0以及Web应用需要注意的安全问题。

    PHP和mysql+web开发

    本书将PHP开发与MySQL应用...本书是第4版,经过了全面的更新、重写和扩展,包括PHP 5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web 2.0以及Web应用需要注意的安全问题。

    PHP与MySQL.WEB开发.part2

    本书将PHP开发与MySQL应用... 本书是第4版,经过了全面的更新、重写和扩展,包括PHP5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web2.0以及Web应用需要注意的安全问题。

Global site tag (gtag.js) - Google Analytics