codecamp

使用AJAX存在的问题

使用AJAX存在的问题


 AJAX的使用率正在快速增长,这也是它会包含许多问题的原因。我们希望随着时间的推移,这些问题将得到解决,AJAX将成为Web应用程序的理想选择。

 在本节我们列出了AJAX目前遇到的一些问题。

(1)复杂性增加了

  • 服务器端开发人员需要了解HTML客户端页面以及服务器端逻辑中将需要表示逻辑。
  • 页面开发人员必须具备JavaScript技能。

(2)基于AJAX的应用程序可能难以调试,测试和维护

  • JavaScript很难测试 - 自动测试很难。
  • JavaScript中的模块化程度较弱。
  • 尚缺乏设计模式或最佳实践指南。

(3)工具包/框架尚未成熟

  • 他们中的大多数都处于测试阶段。

(4)尚未标准化XMLHttpRequest

  • IE的未来版本将解决这个问题。

(5)旧浏览器中不支持XMLHttpRequest

  • iframe会有所帮助。

(6)JavaScript技术依赖性和不兼容性

  • 必须启用应用程序才能运行。
  • 仍然存在一些浏览器不兼容性。

(7)JavaScript代码对黑客可见

  • 设计糟糕的JavaScript代码可能会引发安全问题。

AJAX安全性


服务器端

  • 基于AJAX的Web应用程序使用与常规Web应用程序相同的服务器端安全方案。
  • 您可以在web.xml文件或程序中指定身份验证,授权和数据保护要求。
  • 基于AJAX的Web应用程序受到与常规Web应用程序相同的安全威胁。

客户端

  • JavaScript代码对用户/黑客可见。黑客可以使用JavaScript代码来推断服务器端的弱点。
  • JavaScript代码从服务器下载并在客户端执行(“eval”),并可能通过恶意代码破坏客户端。
  • 下载的JavaScript代码受到沙盒安全模型的约束,可以放宽签名的JavaScript。


AJAX JSON 实例
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }