【问题标题】:Use AJAX also when the page get loaded?页面加载时也使用 AJAX?
【发布时间】:2012-01-15 14:11:35
【问题描述】:

我将使用jQuery for JS 和Codeigniter 作为 PHP 框架来构建一个基于 ajax 的应用程序。

当用户与应用程序交互时,它显然使用 ajax 来更新页面,但在首次加载应用程序时是否有用,或者它只会导致页面变慢?

编辑:我会尝试更具体。

嗯,我有一个网站的静态部分展示应用程序,用户可以登录/注册,然后就是真正的应用程序。

每个用户都有一些“项目”,他可以编辑、删除或添加新项目,项目被安排在几个类别中,用户可以管理这些类别。

所以我会有 2 个简单的 CRUD:一个用于项目,一个用于类别。

只使用 ajax 会容易得多,但我注意到很多 dom 会减慢页面速度,因为我还必须使用大量 jquery 进行拖放、效果......

编辑 2:感谢您的回答,但我问了一些不同的问题,如果使用过多的 ajax(也用于页面加载)会减慢页面速度

【问题讨论】:

  • 为什么不直接加载初始页面所需的元素呢?页面加载后肯定不需要使用 AJAX 吗?
  • 这是一个非常广泛的问题,答案在很大程度上取决于手头的情况,请尽量缩小问题范围,最好是更彻底地指定应用程序。
  • 是的,我想这样做,但这可能是个问题,因为我需要将 json 用于 ajax 请求,而对初始请求使用部分视图...
  • @zrvan 我已经在问题中解释了更多内容
  • 它是一个 Rails 应用程序吗???如果是这样,请更具体并添加部分细节以获得更好的解决方案

标签: jquery ajax


【解决方案1】:

只需将您的ajax 函数放入document.ready function。 这将在页面加载时运行 ajax 调用。

$(document).ready(function() {

    // put all your jQuery ajax in here.
    $.ajax({
      url: "test.html",
      context: document.body,
      success: function(){
        alert('success');
      }
    });

});

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    与任何其他 jQuery AJAX 调用一样,但您不需要将其分配给事件。

    例如

    $(document).ready(function() {
    
      $.ajax('exampleurl', {
        success: function(data) { $('#example').html(data); }
      }
    
    });
    

    这会在页面加载时运行 $.ajax() 调用,并将 #example div 的内容替换为在 ajax 调用中加载的任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 2012-06-04
      • 2011-02-06
      • 1970-01-01
      相关资源
      最近更新 更多