Laravel 4 jquery Ajax请求

时间:2013-07-10 17:52:38

标签: ajax laravel

我是Laravel 4的新用户。我有一个页面,其中我有3个标签(基本上是大的可点击的div)来加载不同的用户信息。我想做的是,我希望能够点击这些选项卡,发出jquery ajax请求,带回局部视图并使用该局部视图更新页面的一部分。我希望能够为每个标签做到这一点。

我点击了事件。我也尝试了不同的代码来完成ajax请求。出于某种原因,没有任何反应。我不知道我是否遗漏了route.php中的内容。有人可以给我一些关于如何做的代码吗?或者可能是其他一些想法?

我做了这个::

Route.php

Route::post('userInfo','UserController@showInfo');

jqueryAjax:

$("divtoUpdatePartialView").click(function(){

$.ajax({
  type: "POST",
  url:Not Sure,
  data: { id: userId }
}).done(function( msg ) {
  alert( msg );
});

}

我也试过使用Base Url,但没有任何反应。我在我的母版页上声明了一个ajax库。你能帮助我或给我一些其他想法吗?

非常感谢您的回答。我试过这种方式,这就是我所拥有的......

Route.php:

Route::get('user_Profile/userInfo', 'UserController@getshow');

ajax:

var  userId='1';

$.ajax({
    type: "POST",
    url: 'user_Profile/userInfo',
    data: { id: userId }
}).done(function( msg ) {
    alert( "the messageis "+msg );
});


My userController::

public function getshow()
    {
           return "No ajax";
    if (Request::ajax()) {

        return "yeahhhh";
    $html=View::make('user.userProfile')->nest('partial', 'user.userInfoPartial')-        >with('title',$title)->render();


}
}

当我直接访问该页面时,我收到“No ajax”,但是当我尝试ajax-way时,没有任何反应。你能看到我错过的吗?

再次感谢您的帮助..

2 个答案:

答案 0 :(得分:4)

url应该是您在route中使用的路径/模式,在这种情况下,它是

userInfo

ajax

$.ajax({
    type: "POST",
    url: 'userInfo',
    data: { id: userId }
}).done(function( msg ) {
    alert( msg );
});

另外,请确保您可以使用

直接从浏览器的地址栏访问该页面
http://yourdomain.com/userInfo

答案 1 :(得分:1)

返回句子应该在if句之后;

   public function getshow(){

    if (Request::ajax()) {
        $html=View::make('user.userProfile')->nest('partial', 'user.userInfoPartial')-        >with('title',$title)->render();
        return "yeahhhh";
    }
           return "No ajax";
}

返回句子退出函数,这意味着不会执行任何进一步的代码:)