你能改进我的路线和ajax请求吗?(php / laravel)

时间:2012-08-11 05:53:45

标签: javascript php jquery ajax laravel

我是一名新手laravel用户,并试图用教程和文档编写我的代码。 当我尝试打开网站时,会发生加载动画,之后,菜单和内容将分割到页面的任一侧。 我只想在单击菜单按钮时更改内容分区。

这些是我的routes.php:

Route::controller(Controller::detect());
Route::get('articles', array('uses'=>'articles@index'));
Route::get('articles/(:any)', array('as'=>'article','uses'=>'articles@view'));
Route::get('abouts', array('as'=>'abouts','uses'=>'abouts@index'));

这是我的default.blade.php菜单部分:

<div id="sidebar-content">
   <ul id="menu">
       <li class="current"><a href="<?php echo URL::to('articles'); ?>">ANASAYFA</a></li>
       <li><a href="<?php echo URL::to('abouts'); ?>">HAKKIMIZDA</a></li>
   </ul>
</div>

这里的链接是否正确?

我的ajax.js

$(document).ready( function() {
    $("#sidebar-content ul li a").click( function(e){
        e.preventDefault();
        $('#content').load(this.href);
        console.log('This href =='+this.href);
        return false;
    });
});

当我点击链接时,我会收到一个加载动画并且不会显示内容 这是我的文章控制器:

class Articles_Controller extends Base_Controller {
    public $restful = true;
    public $layout = 'layouts.default';

    public function get_index(){
        $this->layout->title = "Anasayfa";
        $this->layout->content = View::make('articles.index')->with('articles',Article::order_by('id')->get());
    }
}

这些是console.logs:

GET http://localhost/~ytsejam/laravel/public/index.php/abouts  jquery.min.js (line 4)
This href ==http://localhost/~ytsejam/laravel/public/index.php/abouts   ajax.js (line 6)
GET http://localhost/~ytsejam/laravel/public/js/basic.js?_=13446   jquery.min.js (line 4)
GET http://localhost/~ytsejam/laravel/public/index.php/abouts jquery.min.js (line 5)
This href ==http://localhost/~ytsejam/laravel/public/index.php/abouts ajax.js (line 6)
GET http://localhost/~ytsejam/laravel/public/index.php/abouts jquery.min.js (line 5)
This href ==http://localhost/~ytsejam/laravel/public/index.php/abouts jquery.min.js (line 7)

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

我找不到你的菜单和内容分裂的原因。可能你可以重新阅读你的Javascript,因为它看起来像分裂问题就在那里。

至于你的链接。如果我阅读文档http://laravel.com/docs/routing,我希望链接为URL::to_route('abouts')URL::to_route('articles'),因为您使用了命名路由。

您正在使用刀片引擎(因为您的文件名为default。 blade .php)。因此,您可以写{{ URL::to_route('abouts') }}代替<?php echo URL::to_route('abouts'); ?>

希望这有任何帮助, 亨德里克·扬