ajax一站到底


打算写一个网站后台,操作挺复杂的。准备全站都用ajax请求数据。但是全局变量怎么弄呢。
比如:
页面左侧栏为菜单,右侧是工作区域
单击左侧新增,请求页面,然后渲染在右侧工作区域,请求右侧要用的js文件。有一个插件jqueryValidate.js,在全局的$上新增了$.fn.validate方法。然后点击编辑又ajax请求编辑页面,这个时候来了jquery.editor.js,又在$.fn.editor方法,这样下去全局变量会越来越多的,并且全局环境一直不清空,而用户一直操作,总感觉不是很放心,求解答。

jquery JavaScript

KDM小八 8 years, 6 months ago

用前端框架,比如:angularjs、vuejs⋯⋯

神奇的肥肥 answered 8 years, 6 months ago

之前和一位阿里的同事一起做过通过锚点Ajax请求不同后端地址的后台,锚点的每次变化会出发一个全局事件;晚上回去找下再继续补充答案

MadaoCC answered 8 years, 6 months ago

1)jQuery是一次加载完毕,即使按你的描述,不同的请求加载不用js文件,记载的js执行也是一次性的,不会每次都操作全局变量的,在全局变量中增加的时函数库
2)具体的业务逻辑封装一个模块中-一个函数对象中,函数执行完毕后,函数栈会清除,并且JS引擎会做必要的垃圾回收

妖怪山山神 answered 8 years, 6 months ago

1.用闭包 你在使用插件的时候 用闭包 包起来把他变成 局部变量。调用返回就仅限于这个块。使用了之后也无所谓 反正全局是请求不到的。下次 继续使用闭包在一个块里面继续操作就行了。

2.或者直接封装在函数里面 当一个局部变量 来调用也可以避免这种情况。

看看这样能不能解决你的疑惑。

re洗鐵路 answered 8 years, 6 months ago

既然全部用ajax请求数据,就是要做SPA页面了?为什么不用MVVM框架来解决这种问题呢。
用jQuery来做这种需求的页面,到后期的结果就是无法维护。
全局变量的问题。了解下前端模块化就行了。
感觉题主对前端并不熟悉,如果是公司项目的话,建议不要这样做,用其他自己熟悉的技术来解决问题。

Sherry answered 8 years, 6 months ago

Your Answer