jjery在ajax中加载了内容

时间:2013-11-05 15:50:33

标签: jquery ajax backbone.js

我的应用程序应该是单页面应用程序,我有以下代码可以正常工作:

home.php:

<div id="container">
</div>

accordion.php:

    //Click functions: load content 
    $('#parents').click(function(){
        //Load parent in container
        $('#container').load('http://www.blabla.com/entities/parents/parents.php');
    }); 

parents.php:

<div class="entity_wrapper">
    Some divs and selectors 
</div>
<script type="text/javascript">
    $(document).ready(function(){
        //Some jQuery / javascript 
    }); 
</script>

因此内容加载正常,而动态加载的脚本也可以正常运行 我重复应用这个系统,它继续顺利运作 我已经看到SPA上有很多可用的框架(例如backbone.js),但我不明白为什么我需要它们才能正常工作。

来自backbone.js网站:

  

在处理涉及大量JavaScript的Web应用程序时,   您学习的第一件事就是停止将数据绑定到   DOM。创建最终的JavaScript应用程序非常容易   作为纠结的jQuery选择器和回调堆,所有尝试   疯狂地保持HTML UI和JavaScript之间的数据同步   逻辑和服务器上的数据库。对于富客户端   应用程序,更有条理的方法通常是有帮助的。

好吧,我完全没有感觉到他正在经历他们提到的东西 每页添加javascript对我来说非常有用 它们是具有明确范围的html容器,javascript只与该部分相关 更重要的是,对我来说,前端不会那么,大多数逻辑是基于对外部PHP脚本的Ajax调用来管理的。对于某些功能,有时js可能会更加扩展,但所有功能在不到一秒的时间内就可以平滑加载。

如果您认为这是错误的编码,请告诉我为什么我不能这样做,更重要的是,我应该采用的替代方案是什么。目前,我真的没有理由为什么我会改变这种方法,因为它只是运作得很好。

我有点坚持这个问题,因为它让我感到恶心,因为它似乎太容易成为现实。为什么人们会经历艰难时期,如果它像这样容易......

根据Juhana的评论

编辑问题

我觉得我的项目不适合Backbone的用例。我应该用它吗?

1 个答案:

答案 0 :(得分:1)

这完全取决于您的应用程序可扩展性,易维护性和性能。看看你的代码,你使用了一些旧的(并且被弃用的)jQuery功能,所以我认为它是在很久以前编写的。

知道单个页面应用程序不会以数据加载结束,还包含:

  • 事件绑定
  • 动态数据绑定
  • 多个观点
  • 可重复使用的用户界面
  • 灵活且不依赖的UI控件
  • 解析,显示,跟踪和缓存数据的JS逻辑

在过去的一年里,我一直致力于一个不使用单一框架的分析平台 - 我们必须自己实现一切(并且非常成功)。它具有可扩展性,健壮性,易于理解性和性能优势,但使用角度,余烬或挖空可以为我们节省大量时间,因为大多数维护都是关于我们各种核心功能的抽象级别(解析数据,解析它) ,跟踪它等。)

它也非常适合测试,当你的系统变大时,这是一个巨大的好处,因为在我看来,测试最重要的方面是基本上它允许的依赖性跟踪,你可以不再担心做某事了 - 并破坏看似无关的东西

我认为虽然客户端框架有一定的学习曲线,有些比其他框架更快 - 但是值得花些时间,因为它会带走一些必须在他或她的开发过程中不断实现的例程。