【问题标题】:Controllers and ajax in laravel 4laravel 4 中的控制器和 ajax
【发布时间】:2013-11-21 19:55:21
【问题描述】:

我是 Laravel 的新手,我不知道如何处理控制器(和 ajax)。 我在侧边栏中有一个按钮,我想在单击它时显示一个页面。

我有一个位于views/logs/system.blade.php 中的视图(这是我想在ajax 中显示的页面) 和一个位于 controllers/LogsController 中的控制器,它具有以下代码 -

class LogsController extends BaseController {
    public function getLogs() {
        return View::make('logs/system');
    }
}

我的 routes.php 有代码 -

Route::get('/', 'HomeController@showWelcome'); // Works fine
Route::get('logs', 'LogsController@getLogs');

首先 - 我如何访问我在 URL 中的 getLogs 中获得的视图(localhost/mysite/public/logs 不起作用...) 第二 - 我如何在 ajax 调用中访问它?

我试过了 $.get('日志',函数(数据) { 控制台.log(数据); });

但它也不起作用。它得到 500 内部服务器错误.... 请帮忙!

【问题讨论】:

  • 在向“日志”URL 发出 AJAX 请求之前,您是否尝试过访问它?如果是这样,您是否看到任何有关该错误的 Laravel 信息或只是您的 Web 服务器错误页面?我已经复制了你的代码,它对我有用。

标签: laravel-4


【解决方案1】:

你应该可以去:localhost/mysite/public/logs

如果没有,请在您的 apache 和您的 apache httpd.conf 中启用 mod_rewrite,设置:

AllowOverride All

【讨论】:

    【解决方案2】:

    很可能服务器错误 500(在这两种情况下)是由于您在 View::make() 调用中出错而引起的。要使用子文件夹中的视图,您必须使用点符号。

    所以更正代码

    class LogsController extends BaseController {
        public function getLogs() {
            return View::make('logs.system');
        }
    }
    

    您应该一切顺利,网址应该可以正常加载,无论是在浏览器中还是在 Ajax 中。

    如果您仍然有问题,请检查 Laravel 日志(可能是 path/to/app/storage/logs/...)以及 Apache 错误日志(可能是 /var/log/apache2/error.log)。我假设您使用的是 Unix/Linux 操作系统。

    【讨论】:

      【解决方案3】:

      重写模块已打开。

      我通过访问 localhost/mysite/public/index.php/logs 解决了这个问题,这是它所期望的 URL,可能 .htaccess 文件中的某些内容有误。

      【讨论】:

        猜你喜欢
        • 2014-07-25
        • 1970-01-01
        • 2013-01-03
        • 2013-11-29
        • 1970-01-01
        • 2013-10-05
        • 2013-12-15
        • 2016-05-21
        • 2013-06-10
        相关资源
        最近更新 更多