【问题标题】:Ajax append more data from database when user scrolls laravel当用户滚动 laravel 时,Ajax 从数据库中追加更多数据
【发布时间】:2014-08-25 13:21:51
【问题描述】:

好的,所以自动加载方法的触发器已经在工作了:

window.onscroll = function(evt){
    autoload();
};

autoload() 函数:

function autoload(){
    $.ajax({
        //What do i need to do here to get data from 
        //the URL and append it to #contentContainer?
      })
}

路线已经完成,如果你愿意,可以随意调整为 GET:

Route::post('/loadMore', 'HomeController@loadMore');

loadMore函数:

return View::make('partials.home');

如果 partials.home 是一个应用 css 的 div 和一些刀片模板,但最后。它返回一个 div,我需要将其附加到#contentContainer。

有什么问题吗?我很乐意回答他们!

【问题讨论】:

    标签: javascript php jquery ajax laravel


    【解决方案1】:

    您可以像这样加载您的内容并将其添加到您的容器中

    $.ajax({
      type: "POST",
      url: {{ URL::to('/loadMore') }},
      data: {key1:value1, key2: value2}, // if you need to send some data to your function
      success: function(data){
        $('#contentContainer').append(data);
      }
    });
    

    备注:我假设您在 .blade.php 文件中编写 javascript,以便您可以使用 {{ URL::to('/loadMore') }} 生成路由的 URL

    【讨论】:

    • 感谢您的帮助!但不幸的是,它不起作用..“{{}}”不起作用..在javascript中你不能使用刀片模板..或者至少它在那部分给出错误
    • 如果你写在一个单独的 js 文件中。你可以简单地做url: '/loadMore',,它应该可以正常工作。
    • 好,很酷,现在我进入了成功函数(由警报证明),但没有附加 div.. 这是什么意思?
    • 尝试console.log(data) 了解您的确切信息
    • 什么都没有,数据是空的,在控制台中我看到 main.js 第 44 行(这是 console.log(data) 的行。但是那里什么都没有。所以数据是空的有什么原因?
    【解决方案2】:

    问题出在视图中:

    我的观点开始于:

    @section('content')
    

    javascript 似乎无法处理该问题

    【讨论】:

      猜你喜欢
      • 2020-01-31
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多