Laravel Ajax 路由问题(404 响应)

Posted

技术标签:

【中文标题】Laravel Ajax 路由问题(404 响应)【英文标题】:Laravel Ajax route issue (404 response) 【发布时间】:2016-08-27 01:08:48 【问题描述】:

当我使用 ajax 请求时,我遇到了 Laravel 5 中返回 404 的路由问题。 本地一切正常,但是当我通过 git 在 laravel forge 服务器上上传它时,它返回 404,就好像路由文件没有上传一样。 所以我得到了一个 SFTP 并检查了,文件确实被上传了。

控制器:

public function getNewAjaxPosts()
    $post = DB::table('posts')->orderBy('created_at', 'desc')->paginate(16);
    return view('/pages.ajax-loaded-view', array('post' => $post))->render();


public function getNewAjaxTrending($page)
    $return = DB::select( DB::raw("SELECT *, count(views.video_id) as visningar FROM posts,views WHERE posts.id = views.video_id AND 
          posts.created_at >= DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY) 
          GROUP BY posts.id order by visningar DESC LIMIT 15 OFFSET :page"),["page" => $page]);

    return View::make('/pages.ajax-load-trending', array('trending' => $return))->render();

路线:

Route::get('/ajax/posts', "VideoController@getNewAjaxPosts");

Route::get('/ajax/trending/page/page',"VideoController@getNewAjaxTrending");

javascript 文件:

function getNewPosts(page) 
    $.ajax(
        url: '/ajax/posts?page=' + page
    ).done(function(data) 
        if (data != "") 



            $('.ajax-container').append(data);


         else 
            $(window).unbind("scroll");
            $(".ajax-container").append("<div class='endofstream'> <i class='fa fa-paper-plane' aria-hidden='true'></i> Du har tittat igenom allt! Vad kul. glöm inte att kolla in oss på facebook </div>")
        
    );


function getNewPostsTrend(page) 
    $.ajax(
        url: '/ajax/trending/page/' + page * 15 + "/"
    ).done(function(data) 



        $('.ajax-trending').append(data);


    );
 // This is just a sample script. Paste your real code (javascript or html) here.

if ('this_is' == /an_example/) 
    of_beautifier();
 else 
    var a = b ? (c % d) : e[f];

如果您想查看实时示例:

http://www.sportmossa.se

一旦您向下滚动到页脚(ish),该事件就会触发,并且控制台将记录错误。

【问题讨论】:

【参考方案1】:

我找到了答案。

我的路线被缓存了,duuh...所以答案是工匠路线:缓存

希望有一天这可能对其他人有所帮助。

保重!

【讨论】:

以上是关于Laravel Ajax 路由问题(404 响应)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:如何根据路由响应自定义 404 错误

Laravel 路由仅在 phpunit 测试期间返回 302 而不是 404 响应

加载资源失败:服务器使用 laravel 8 / ajax 响应状态为 404(未找到)

即使 url、路由器和控制器指向同一个地方,Laravel 和 Ajax 也会根据请求返回 404

Laravel 404 和 500 的 API 和网站中的不同响应(JSON 和网页)?

Laravel 路由在 API 中不起作用,返回 404 页